На некоторых платформах есть несколько "значков приложений". Например, в UNIX-подобной системе, которая следует стандартам FreeDesktop.org(по существу, все, что вы можете увидеть сегодня в Linux, независимо от того, являются ли они KDE, Gnome, Unity, XFCE или какой-либо другой DE-du-jour), это делается путем установки соответствующей записи Icon в файле приложения .desktop. Подробнее см. спецификацию .desktop. Это то, что отображается как значок запуска, и некоторые DE, такие как недавняя Plasma, будут использовать это для значка окна на панели задач с соответствующими переопределениями темы.
Возможно, вы также отправляете установщик Windows, возможно, на основе NSIS. Тогда вы должны, вероятно, указать это и в своем .nsi.
Фактические значки окон - это то, что должно быть задано программистом. Как вы можете видеть, существует множество мест, где может быть установлен значок приложения. Если вы ищете реальный пример, посмотрите исходный код Trojitá. Найдите фактическую установку файла значков через CMake, для кода NSIS, для создания файла Windows RC и, наконец, для установки значка приложения из кода на С++.