Изменить иконку EXE-файла

Мне нужно изменить иконку готового exe на другую (из файла) с помощью C#.

P.S. я не разбираюсь в устройстве exe-файлов, задаю вопрос здесь, потому что в гугле за полтора часа я так ничего и не нашел.


Ответы (1 шт):

Автор решения: EvgeniyZ
  • Качаем пакет Ressy c NuGet
  • Делаем объект PortableExecutable (var portableExecutable = new PortableExecutable("путь/.exe")).
  • Задаем иконку при помощи метода SetIcon(), который принимает Stream или путь до .ico файла.
  • Готово.

Другие возможности можете посмотреть, посетив GitHub проекта. Ну или можете посмотреть там как все устроено, проект полность написан на C# (исходник метода SetIcon).


Напомню, что Windows кэширует иконки, если вы поменяли, но ничего не происходит, то подождите, либо попробуйте просто перенести файл в другую папку.

→ Ссылка