如何设置EXE文件PE头中的"file version"字段?

How to set the "file version" field in PE header of EXE files?

我用go build建立了一个exe file.Then我查看了属性的文件(右击文件->属性),在 detail 选项卡中,文件的版本为空。

如何设置 exe 文件的版本。

EXE文件版本等信息作为资源嵌入,是Windows特有的,Go编译器不支持。您可以使用 the package GoVersionInfo 来完成此操作(它还支持嵌入图标)。我自己还没有尝试过,但它看起来很有前途并且有据可查。

go-winres 可让您在 go build 之前或之后执行此操作。

运行 go install github.com/tc-hib/go-winres@latest 安装它。 然后,在您的项目文件夹中,运行 go-winres init。这将创建一个名为 winres.

的子文件夹

修改winres/winres.json,替换图标

运行go-winres make。这将创建一个 .syso 文件。 运行 go build 看看结果。

如果您想添加一种语言,自述文件中有示例。我没能用 goversioninfo 做到这一点,而它可以用 go-winres.