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

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

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

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

5 ответов


Хакер Ресурсов это бесплатный инструмент, который позволяет модифицировать ресурсы в исполняемых файлах, и могут быть выполнены из командной строки.


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

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

$ rcedit "путь к exe-или-dll" --set-icon "путь к ico"

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

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


вы пробовали Консоль ResourceTuner?


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

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