Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

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

Ответ 4

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

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