VERSIONINFO的“评论”部分未显示

时间:2016-02-10 11:02:30

标签: c++ versioninfo

我正在尝试使用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”?这是否意味着我需要设置一些特殊标志,或者显示一些注释?

1 个答案:

答案 0 :(得分:0)

为了使其工作,我必须将/ D _UNICODE / D UNICODE添加到资源编译器命令行:

rc.exe /D _UNICODE /D UNICODE ....

使用这样的命令行 - 有评论!对我来说很奇怪,它只需要注释,而其他预定义字段不需要它。无论如何 - 谢谢你们提示 - 我看看VS是怎么做到的。