Windows 7 shell中未完全显示可执行版本

时间:2010-12-21 01:41:55

标签: windows winapi version

根据WinAPI可执行文件可能包含资源部分。常见的资源类型之一是版本信息(VERSIONINFO)。它由 fixed 部分组成,另外它可以包含任意数量的字符串条目(名称+值对)。

我的构建环境是这样安排的,每当我构建一个可执行文件时,它的版本信息会自动调整以反映源代码控制的当前状态。因此它始终包含其构建信息。

直到上个月,当我还在使用旧式XP机器时,我可以右键单击任何这样的可执行文件,选择属性/版本,然后 - 瞧!我可以看到所有构建信息。但最近我将我的机器升级到Windows 7.而且,正如发现的那样,它不再显示丰富的版本信息。它仅显示已修复的版本信息部分。

有谁知道这是否可以修复?也许在某个地方存在一个选项来启用以前的版本信息选项卡?

P.S。那里的丰富版本信息 ,这不是构建问题。当我用资源编辑器打开文件时,我可以看到这一点。

提前致谢。

UPD:

我的意思是“丰富的版本信息”。

http://msdn.microsoft.com/en-us/library/ms647001%28v=vs.85%29.aspx

根据这一点,版本信息包含强制部分(包括产品和文件信息)。另外,它可能包含任意字符串对。有关详细信息,请参阅StringFileInfo

在我的可执行文件的版本信息中,我使用这些自定义字符串来提供丰富的源代码控制信息(我使用SVN)。

版本号进入文件/产品次要版本号,这里没有问题。但是我也提出了一些自定义字符串,如下所示:

  • SVN Url =“...”
  • 本地修改=“否”
  • 混合修订=“是,范围= 143:177”

等等。

Windows XP UI在shell的标准版本信息选项卡中显示了所有这些字符串。它们刚刚在Windows 7中消失。

问题是如何将它们放回去。

1 个答案:

答案 0 :(得分:8)

我认为您的意思是不再显示自定义字段(例如非标准字段)。可悲的是,这似乎是微软愚弄界面而损害高级用户/开发人员的另一个领域。文件时代的“x分钟前”是我存在的祸根。无论如何,似乎没有任何内置的方法来解决这个问题;看起来像其他人已经took care of it了。