如何在EXE文件的PE头中设置“文件版本”字段?

时间:2016-02-01 08:55:13

标签: go portable-executable

我使用go build构建exe文件。然后我查看文件的属性(右键单击文件 - >属性),在detail选项卡中,文件的版本是空的。

如何设置exe文件的版本。

enter image description here

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

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