我如何创建或修改VB6 exe版本资源块以使其具有Squirrel意识

问题描述 投票:4回答:2

[我有一个疯狂的想法,想拿一个我们不断迁移到.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文件。

vb6 embedded-resource squirrel.windows
2个回答
4
投票

您可以在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参数以禁止控制台输出。


0
投票

在VB6中制作一个res文件。 VB6仅允许编辑某些内容。使用ResHacker将您想要的其他任何内容添加到Res文件中。 VB6添加了它自己的版本,因此您可能需要将其添加到exe文件中。 http://www.angusj.com/resourcehacker/

© www.soinside.com 2019 - 2024. All rights reserved.