使用Delphi XE8的VersionInfo(Version.rc)

时间:2015-10-12 09:29:06

标签: delphi delphi-xe8

我一直在将旧的Delphi 2007代码升级到Delphi XE8,在那里我观察到程序版本信息的非常奇怪的行为。

以下是我用于使用测试项目编译的Version.rc文件。

1 VERSIONINFO
FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,3
FILEOS 0x4
FILETYPE 0x2
{
BLOCK "StringFileInfo"
{
    BLOCK "080904E4"
    {
        VALUE "CompanyName", "ABC Inc\000"
        VALUE "FileDescription", "Version Testing\000"
        VALUE "FileVersion", "0.0.0.0\000"
        VALUE "ProductName", "VERT001\000"
        VALUE "ProductVersion", "A003\000"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0809 0x04E4
}
}

当我从Windows 8.1机器上查看版本信息时,我得到了这个细节:

enter image description here

当我从Windows Server 2012查看版本信息时,我得到了这个细节:

enter image description here

最初我虽然可能是FILEOS参数的问题,但我将其更改为VOS_NT_WINDOWS32甚至是VOS_NT但是它没有改变任何东西。

使用Delphi 2007编译时,相同的测试项目在操作系统上正确显示版本详细信息。

最近有没有人面临过类似的问题?

1 个答案:

答案 0 :(得分:3)

在David的帮助下,我发现该问题属于dproj文件。当我指定<VerInfo_IncludeVerInfo>false</VerInfo_IncludeVerInfo>时,VersionTest.exe开始在操作系统上显示正确的版本。