vb6 - 如何创建或修改 VB6 exe 版本资源 block 以使其成为 Squirrel-Aware

标签 vb6 embedded-resource squirrel.windows

我有一个疯狂的想法,要使用我们不断迁移到 .NET 的大型 VB6 应用程序并使用 Squirrel for Windows安装程序。看来我需要让 VB6 应用程序 Squirrel-Aware as described here -- 添加 VALUE "SquirrelAwareVersion", "1"到版本资源块。

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

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

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

最佳答案

您可以使用 Resource Hacker utility在 CLI 模式下替换最终可执行文件中所需的任何资源。它甚至可以将 .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 - 如何创建或修改 VB6 exe 版本资源 block 以使其成为 Squirrel-Aware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60120233/

相关文章:

c# - VB .frm 文件,它们可以导入到 C# 项目中吗?

基于 Windows 8 ARM 的平板电脑上的 VB6

c++ - 在 C++ 中为文件 I/O 包含其他文件

c# - 为什么在单元测试中找不到 resx 文化?

.net - Squirrel.Windows 的好替代品

error-handling - 没有行号时 Erl 返回什么?

c - 服务器在客户端启动后如何通过 'C'中的套接字向服务器发送消息?

javascript - 悬停在嵌入视频中的标题上

javascript - 使用 Electron 通过 Squirrel 事件创建桌面快捷方式