[我有一个疯狂的想法,想拿一个我们不断迁移到.NET并使用Squirrel for Windows安装程序的大型VB6应用程序。似乎我需要使VB6应用程序具有Squirrel-Aware as described here-将VALUE "SquirrelAwareVersion", "1"
添加到Version资源块中。
问题是我对rc文件非常不熟悉,并且在格式,编码等方面只有很少的文档,尤其是在使用VB6时。我想我需要一个命令行工具,可以将此VALUE "SquirrelAwareVersion", "1"
添加到现有exe的Version资源中,或者弄清楚如何获取VB6以使用其中包含所有版本数据的自定义.res
文件。
[大多数工具似乎只修改图标,清单和字符串之类的基本资源信息。我需要能够修改或替换此版本数据的内容。
我已经尝试创建基本的.rc
。我制作一个名为MyApp.rc的空文件。使用Visual Studio打开文件。添加一个“版本”资源,并尝试使用.res
将其编译为RC.exe
,但是我从Visual Studio生成的此文件中得到了各种错误。如果我关闭并重新打开生成的RC文件,即使Visual Studio也无法打开它。可能是编码问题?我不确定如何再创建有效的RC文件。
您可以在CLI模式下使用Resource Hacker utility替换最终可执行文件中所需的任何资源。它甚至可以将.rc文件编译成.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
参数以禁止控制台输出。
在VB6中制作一个res文件。 VB6仅允许编辑某些内容。使用ResHacker将您想要的其他任何内容添加到Res文件中。 VB6添加了它自己的版本,因此您可能需要将其添加到exe文件中。 http://www.angusj.com/resourcehacker/