我正在尝试使用VERSIONINFO资源的“评论”字段。目标程序是64位Windows EXE文件(使用VS 2015编译)。
版本,版权,说明等所有元素都正确显示 - “评论”除外。 我像StringFileInfo块的其他元素一样定义它。这样的事情:
VS_VERSION_INFO VERSIONINFO
FILEVERSION FILEVER
PRODUCTVERSION PRODUCTVER
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "FileDescription", PROGRAM_NAME
VALUE "LegalCopyright", COPYRIGHT_NOTE
VALUE "CompanyName", "My Company\0"
VALUE "FileVersion", STRFILEVER
VALUE "ProductName", STRPRODUCTNAME
VALUE "ProductVersion", STRPRODUCTVER
VALUE "InternalName", "program\0"
VALUE "OriginalFilename", "program.exe\0"
VALUE "Comments", "A comment to show\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0000, 0x04b0
END
END
当我使用PowerShell显示版本信息时,如下所示:
(dir *.exe).VersionInfo|fl
显示空“评论”。
我也是来自SysInternals的sigcheck程序:
sigcheck -a .\program.exe
显示:
...
Comments: n/a
...
“N / A”?这是否意味着我需要设置一些特殊标志,或者显示一些注释?
答案 0 :(得分:0)
为了使其工作,我必须将/ D _UNICODE / D UNICODE添加到资源编译器命令行:
rc.exe /D _UNICODE /D UNICODE ....
使用这样的命令行 - 有评论!对我来说很奇怪,它只需要注释,而其他预定义字段不需要它。无论如何 - 谢谢你们提示 - 我看看VS是怎么做到的。