使用rcedit修改exe文件信息(图标版本版权等)

Posted Naisu Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用rcedit修改exe文件信息(图标版本版权等)相关的知识,希望对你有一定的参考价值。

文章目录

目的

我在使用Electron的时候由electron-forge打包出来的exe中部分文件信息没法通过配置或打包时修改:

主要就是上面这个版权信息

后来发现Github上Electron组织下面有个rcedit工具可以处理这个问题。

rcedit是一个用于在Windows上编辑exe文件资源的命令行工具。

项目地址如下:
https://github.com/electron/rcedit

使用说明与演示

从项目地址下载可执行程序,然后在命令行中使用即可。

项目自带文档说明,也可以使用 -h 选项查看使用帮助:

下面是使用演示:


上面使用 rcedit "path-to-exe-or-dll" --set-version-string "key" "value" 命令修改了版权信息,其中版权信息的 keyLegalCopyright ,具体每个属性的 key 是什么可以参考下节说明。

version-string key

信息参考来源:
https://learn.microsoft.com/zh-cn/windows/win32/menurc/versioninfo-resource

名称说明
CompanyName生成文件的公司(例如, Microsoft CorporationStandard Microsystems Corporation, Inc. 此字符串是必需的)。
FileDescription要向用户显示的文件说明。 当用户选择要安装的文件时,此字符串可能会显示在列表框中,例如 Keyboard Driver for AT-Style Keyboards。 此字符串是必需的。
FileVersion文件的版本号,例如或 3.105.00.RC2。 此字符串是必需的。
InternalName文件的内部名称(如果存在),例如,如果文件是动态链接库,则为模块名称。 如果文件没有内部名称,则此字符串应为原始文件名,无需扩展名。 此字符串是必需的。
LegalCopyright适用于文件的版权声明。 这应包括所有通知、法律符号、版权日期等的全文。 此字符串是可选的。
LegalTrademarks适用于文件的商标和注册商标。 这应包括所有声明的完整文本、合法符号、商标号等。 此字符串是可选的。
OriginalFilename文件的原始名称,不包括路径。 此信息使应用程序能够确定文件是否已由用户重命名。 名称的格式取决于为其创建文件的文件系统。 此字符串是必需的。
PrivateBuild有关文件的专用版本的信息,例如 Built by TESTER1 on \\\\TESTBED。 只有在根块的 fileflags 参数中指定了VS_FF_PRIVATEBUILD时,才应存在此字符串。
ProductName分发文件的产品的名称。 此字符串是必需的。
ProductVersion分发文件的产品版本,例如或 3.105.00.RC2。 此字符串是必需的。
SpecialBuild指定此版本的文件与标准版本有何不同(例如, Private build for TESTER1 solving mouse problems on M250 and M250E computers)的文本。 只有在根块的 fileflags 参数中指定了VS_FF_SPECIALBUILD时,才应存在此字符串。

总结

rcedit这种事后处理的方式虽然我并不喜欢,但至少能解决问题,使用上也不麻烦。

以上是关于使用rcedit修改exe文件信息(图标版本版权等)的主要内容,如果未能解决你的问题,请参考以下文章

从命令行将图标添加到现有的 EXE 文件 [关闭]

exe到底怎么随意换图标?exe文件图标可以用ico代替上吗?还是求远程!

如何更改EXE应用程序的图标?

Godot 4.0 设置应用程序图标项目图标

c语言修改文件图标

如何更改exe文件的图标