4

我有一个疯狂的想法,即采用我们不断迁移到 .NET 的大型 VB6 应用程序并使用Squirrel for Windows安装程序。看来我需要按照此处所述制作 VB6 应用程序 Squirrel-Aware——添加VALUE "SquirrelAwareVersion", "1"到版本资源块。

问题是我对 rc 文件非常不熟悉,而且只有一些关于格式、编码等的文档,尤其是在使用 VB6 时。我想我需要一个命令行工具,可以将它添加VALUE "SquirrelAwareVersion", "1"到现有 exe 的版本资源中,或者弄清楚如何让 VB6 使用.res包含所有版本数据的自定义文件。

大多数工具似乎只修改基本资源信息,如图标、清单和字符串。我需要能够修改或替换此版本数据的东西。

我试图创建一个基本的.rc. 我创建了一个名为 MyApp.rc 的空文件。使用 Visual Studio 打开文件。添加“版本”资源并尝试将其编译为.resRC.exe但我从 Visual Studio 生成的此文件中得到各种错误。如果我关闭并重新打开生成的 RC 文件,即使 Visual Studio 也无法打开它。可能是编码问题?我不确定如何创建有效的 RC 文件。

4

2 回答 2

6

您可以在 CLI 模式下使用Resource Hacker 实用程序来替换最终可执行文件中所需的任何资源。它甚至可以将 .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如果需要,添加参数以抑制控制台输出。

于 2020-02-09T09:38:20.470 回答
0

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

于 2020-02-09T03:36:27.787 回答