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

发布于 2024-10-08 17:37:42 字数 1118 浏览 0 评论 0原文

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

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

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

有谁知道这是否可以解决?也许某处存在一个选项可以启用以前的版本信息选项卡?

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

提前致谢。

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 中消失了。

问题是如何将它们恢复回来。

According to the WinAPI executable files may contain resource section. One of the common resource types is the version info (VERSIONINFO). It consists of a fixed part, plus it may contain arbitrary number of string entries (pairs of name + value).

My build environment is arranged so that whenever I build an executable - its version info is automatically adjusted to reflect the current state of the source control. So that it always contains its build information.

Until last month, when I still worked on the old-good XP machine, I could right-click any such an executable, select properties/version, and - voila! I could see all the build information. But recently I've upgraded my machine to Windows 7. And, as discovered, it doesn't show the rich version info anymore. It shows only the fixed version info part.

Does anyone know if this can be fixed? Perhaps there exist an option somewhere to enable the former version info tab?

P.S. The rich version info is there, it's not the build problem. I can see this when I open the file with resource editor.

Thanks in advance.

UPD:

What I mean by "rich version information".

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

According to this, the version information contains the mandatory part (which includes both the product and the file information). Plus it may contain arbitrary string pairs. See StringFileInfo for more information.

In the version info of my executable I use those custom strings to provide rich source control information (I use SVN).

The revision number goes into the file/product minor version number, there's no problem here. However I also put some custom strings like the following:

  • SVN Url = "..."
  • Local Modifications = "no"
  • Mixed revisions = "Yes, Range=143:177"

and so on.

The Windows XP UI showed all those string in the standard version information tab of the shell. They just disappeared in Windows 7.

The question is how to put them back.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

写下不归期 2024-10-15 17:37:42

我假设您的意思是不再显示自定义字段(例如非标准)。可悲的是,这似乎是微软简化界面的另一个领域,损害了高级用户/开发人员的利益。文件时间中的“x 分钟前”是我存在的祸根。不管怎样,似乎没有任何内置方法可以解决这个问题;不过,看起来其他人已经处理了它

I assume you mean that custom fields (e.g. non-standard) are no longer displayed. Sadly this seems to be yet another area where Microsoft dumbed down the interface to the detriment of power users / developers. The "x minutes ago" in the file times is the bane of my existence. Anyway, there does not appear to be any built-in way to fix this; looks like someone else already took care of it, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文