2010-12-21 51 views
4

根據WinAPI可執行文件可能包含資源部分。常見的資源類型之一是版本信息(VERSIONINFO)。它由一個固定的部分組成,並且它可以包含任意數量的字符串條目(成對的名稱+值)。可執行文件版本在Windows 7 shell中未完全顯示

我的編譯環境是這樣安排的,只要我編譯一個可執行文件 - 它的版本信息就會自動調整以反映源代碼控制的當前狀態。所以它總是包含它的構建信息。直到上個月,當我還在使用老式的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中消失。

問題是如何讓他們回來。

+0

「固定」是指「FILEVERSION」還是「PRODUCTVERSION」?我認爲「富」是指相反的? – 2010-12-21 02:30:13

+0

沒有。請參閱我的upcate – valdo 2010-12-21 13:54:03

+0

該信息現在位於屬性對話框的「詳細信息」選項卡上。 – Tergiver 2010-12-21 15:29:15

回答

8

我假設你的意思是自定義字段(例如非標準)不再顯示。令人遺憾的是,這似乎還是微軟降低界面對高端用戶/開發人員不利的另一個領域。文件時間的「x分鐘前」是我存在的禍根。無論如何,似乎沒有任何內置的方法來解決這個問題。雖然看起來像其他人已經took care of it

+0

太棒了。這正是我所期待的。謝謝。 – valdo 2010-12-21 16:40:51