简体   繁体   English

使用Delphi XE8的VersionInfo(Version.rc)

[英]VersionInfo (Version.rc) with Delphi XE8

I have been upgrading my old Delphi 2007 code to Delphi XE8 where I observed very strange behavior on version information of the program. 我一直在将旧的Delphi 2007代码升级到Delphi XE8,在那里我观察到程序版本信息的非常奇怪的行为。

Following is the Version.rc file I used to compile with test project. 以下是我用于使用测试项目编译的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
}
}

When I look version info from Windows 8.1 machine, I get this detail: 当我从Windows 8.1机器上查看版本信息时,我得到了这个细节:

在此输入图像描述

And When I look version info from Windows Server 2012, I get this detail: 当我从Windows Server 2012查看版本信息时,我会得到以下详细信息:

在此输入图像描述

Initially I though that it may be issue of FILEOS parameter and I changed it to VOS_NT_WINDOWS32 or even VOS_NT however It did not changed anything. 最初我虽然它可能是FILEOS参数的问题,但我将其更改为VOS_NT_WINDOWS32甚至VOS_NT但是它没有改变任何东西。

The same test project when compiled with Delphi 2007 shows version details correctly on both the OS. 使用Delphi 2007编译时,相同的测试项目在两个操作系统上都能正确显示版本详细信息。

Did anyone face similar issue in recent past ? 最近有没有人面临过类似的问题?

After help from David I found that issue was of dproj file. 在David的帮助下,我发现问题是dproj文件。 When I specified <VerInfo_IncludeVerInfo>false</VerInfo_IncludeVerInfo> , VersionTest.exe started showing correct versions on both the OS. 当我指定<VerInfo_IncludeVerInfo>false</VerInfo_IncludeVerInfo><VerInfo_IncludeVerInfo>false</VerInfo_IncludeVerInfo>开始在两个操作系统上显示正确的版本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM