Добавить значок в существующий EXE-файл из командной строки - PullRequest
21 голосов
/ 23 марта 2009

Существует ли инструмент командной строки, который может добавить значок в существующий исполняемый файл? Он должен иметь возможность установить значок в качестве «основного» значка файла, который отображается в Проводнике.

У меня нет Visual Studio, и я не могу перекомпилировать исполняемый файл с пользовательскими ресурсами, содержащими значок.

ОБНОВЛЕНИЕ : Лучший инструмент, который я нашел после публикации этого вопроса, - это, безусловно, утилита RCEDIT.exe, которая входит в состав WinRun4J .

Ответы [ 5 ]

11 голосов
/ 23 марта 2009

Resource Hacker - это бесплатный инструмент, позволяющий изменять ресурсы в исполняемых файлах, и его можно создавать из командной строки.

10 голосов
/ 21 ноября 2014

Извините, я лично еще не пробовал это, но потому что Я хотел этого во время объединения приложения Atom-Shell, я нашел это очень интересным, когда https://github.com/atom/rcedit показал в моем первом поиске утилиты RCEDIT, упомянутой в других ответах.

Одна из его команд:

$ rcedit "path-to-exe-or-dll" --set-icon "path-to-ico"

… поэтому при условии, что это сработает, вероятно, я буду использовать решение - моя сборочная машина Windows уже настроена на выборку исходного кода с использованием git и компиляцию с помощью gyp.

ОБНОВЛЕНИЕ : есть готовый исполняемый файл, доступный через https://github.com/atom/rcedit/releases/, и он хорошо работает для меня на Win7 (из оболочки Git Bash / Msys, хотя я был бы удивлен, если это сделает разница).

2 голосов
/ 07 марта 2014

В моем случае попытка добавить значок с помощью RCEdit.exe с ключами / A или / I привела к обрезке исполняемого файла. У меня есть NSIS (NullSoft Installer System) - созданная установка, которая изначально была 13 МБ, но после запуска RCEdit, чтобы добавить иконку, все, что от нее осталось, - всего несколько килобайт (близко к размеру иконки), но да, исполняемый файл показывает значок.

Добавление иконки с помощью Resource Hacker работало на меня. Ему даже не нужна опция для установки значка по умолчанию, поскольку он является единственным ресурсом группы значков. Я использовал 103 в качестве названия ресурса и 1033 в качестве языка.

2 голосов
/ 23 марта 2009

Вы пробовали ResourceTuner Console ?

1 голос
/ 23 марта 2009
...