Как мне создать или изменить блок ресурсов VB6 exe Version, чтобы он стал Squirrel-Aware - PullRequest
4 голосов
/ 07 февраля 2020

У меня есть сумасшедшая идея взять большое приложение VB6, на которое мы постоянно мигрируем. NET и использовать установщик Squirrel для Windows. Кажется, мне нужно сделать приложение VB6 Squirrel-Aware , как описано здесь - добавить VALUE "SquirrelAwareVersion", "1" в блок ресурса Version.

Проблема в том, что я очень незнаком с r c файлов и есть только биты документации по формату, кодировкам и т. Д. c, особенно при работе с VB6. Я думаю, что мне нужен инструмент командной строки, который может добавить этот VALUE "SquirrelAwareVersion", "1" к ресурсу Version существующего exe, ИЛИ выяснить, как заставить VB6 использовать пользовательский файл .res со всеми данными версии в нем.

Большинство инструментов, похоже, изменяют только базовую c информацию о ресурсах, такую ​​как значки, манифесты и строки. Мне нужно что-то, способное изменить или заменить данные этой версии.

Я пытался создать основную версию c .rc. Я делаю пустой файл с именем MyApp.r c. Откройте файл с помощью Visual Studio. Добавьте ресурс «Version» и попытайтесь скомпилировать его в .res с помощью RC.exe, но я получаю всевозможные ошибки из этого файла, сгенерированного Visual Studio. Если я закрою и снова открою сгенерированный файл R C, даже Visual Studio не сможет его открыть. Может быть проблема с кодировкой? Я не уверен, как еще создать правильный файл R C.

Ответы [ 2 ]

5 голосов
/ 09 февраля 2020

Вы можете использовать Утилита Resource Hacker в режиме CLI, чтобы заменить любые ресурсы, которые вам нужны в вашем конечном исполняемом файле. Он может даже скомпилировать файлы .r c в файл .res с чем-то вроде этого:

c:> ResourceHacker.exe -open Project1.rc -save Project1.res -action compile

Затем используйте что-то подобное в командной строке, чтобы добавить новые или заменить существующие ресурсы из файла .res в ваш конечный исполняемый файл:

c:> ResourceHacker.exe -open Project1.exe -save Project1.exe -action addoverwrite -resource Project1.res

Добавьте параметр -log NUL для подавления вывода на консоль, если вам нужно.

0 голосов
/ 09 февраля 2020

Создайте файл res в VB6. VB6 позволяет редактировать только определенные вещи. Используйте ResHacker, чтобы добавить что-нибудь еще в файл Res. VB6 добавить свою собственную версию, поэтому вам может потребоваться сделать это в исполняемый файл. http://www.angusj.com/resourcehacker/

...