GOPATH目录下的bin文件夹添加系统path变量中。添加后可直接在任意位置控制台中直接调用bin目录下的可执行程序。
下文中提到的:控制台运行命令,都是在main.go同级目录运行的。
# 安装rsrc包
> go install github.com/akavel/rsrc
# 测试是否安装成功
> rsrc

注意:如果无法运行
rsrc,请参考步骤:1.1
manifest.xml,内容:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
requestedPrivileges>
security>
trustInfo>
assembly>
rsrc -manifest manifest.xml -o nac.syso,如图:
nac.syso文件,如图:
步骤:5.1,参考应用程序打包流程。# 安装goversioninfo包
> go install github.com/josephspurrier/goversioninfo
# 测试是否安装成功
> goversioninfo -h

注意:如果无法运行
goversioninfo -h,请参考步骤:1.1
versioninfo.json文件,内容:{
"FixedFileInfo": {
"FileVersion": {
"Major": 1,
"Minor": 0,
"Patch": 0,
"Build": 0
},
"ProductVersion": {
"Major": 1,
"Minor": 0,
"Patch": 0,
"Build": 0
},
"FileFlagsMask": "3f",
"FileFlags ": "00",
"FileOS": "040004",
"FileType": "01",
"FileSubType": "00"
},
"StringFileInfo": {
"Comments": "程序描述",
"CompanyName": "公司名称",
"FileDescription": "文件说明",
"FileVersion": "v1.0.0.0",
"InternalName": "程序内部名称",
"LegalCopyright": "Copyright (c) 2022 xxxxxx",
"LegalTrademarks": "",
"OriginalFilename": "原始文件名",
"PrivateBuild": "",
"ProductName": "产品名称",
"ProductVersion": "v1.0.0.0",
"SpecialBuild": ""
},
"VarFileInfo": {
"Translation": {
"LangID": "0409",
"CharsetID": "04B0"
}
},
"IconPath": "favicon.ico",
"ManifestPath": ""
}
IconPath字段对应你应用程序的ico图标文件,并将图标文件放在main.go同级目录。go generate -run "goversioninfo -platform-specific=false -64=true",如图:
注意:64位系统需要在命令中添加
-64=true
resource.syso文件,如图:
go buildgo build -ldflags "-H=windowsgui"
