2012-06-11 94 views
5

プロダクトマネジメントは、私たちのソフトウェアのバージョン番号に通常の4ではなく3桁の数字が必要であることを宣言しました(1.2.3.4ではなく1.2.3.4)Windowsのプロパティ値の "File version"はFILEVERSIONで "FileVersion"ではありません

これは、[バージョン情報]ダイアログやUIの他の場所で簡単に実行できますが、Windowsのプロパティに問題があります。

私はVERSIONINFOブロック内の値を変更する場合:

ファイルバージョン:1.2.3.0 製品を

FILEVERSION 1,2,3 
PRODUCTVERSION 1,2,3 

VALUE "FileVersion", "1.2.3" 
VALUE "ProductVersion", "1.2.3" 

以下で、Windows 7のプロパティ> exeファイルのタブを詳細に私が終わりますバージョン:1.2.3

すべての値を異なる値に変更すると、「ファイルバージョン」はFILEVERSIONから取得され、常に4桁のグループ値としてフォーマットされますが、「製品バージョン」は「ProductVersion」から取得されます。

"FileVersion"文字列値から "File version"を指定する方法はありますか?私がFILEVERSIONブロックを削除すると、私はちょうど0.0.0.0の "ファイルバージョン"で終わる。

私は、デフォルトのバージョンのリソースの追加、空のWin32コンソールアプリケーションを作成することにより、VS2010でこの動作を再現しています。同じ問題に結果の

VS_VERSION_INFO VERSIONINFO 
FILEVERSION 1,0,1 
PRODUCTVERSION 1,0,2 
FILEFLAGSMASK 0x3fL 
#ifdef _DEBUG 
FILEFLAGS 0x1L 
#else 
FILEFLAGS 0x0L 
#endif 
FILEOS 0x40004L 
FILETYPE 0x1L 
FILESUBTYPE 0x0L 
BEGIN 
    BLOCK "StringFileInfo" 
    BEGIN 
     BLOCK "080904b0" 
     BEGIN 
      VALUE "CompanyName", "TODO: <Company name>" 
      VALUE "FileDescription", "TODO: <File description>" 
      VALUE "FileVersion", "1.0.3" 
      VALUE "InternalName", "VersionT.exe" 
      VALUE "LegalCopyright", "Copyright (C) 2012" 
      VALUE "OriginalFilename", "VersionT.exe" 
      VALUE "ProductName", "TODO: <Product name>" 
      VALUE "ProductVersion", "1.0.4" 
     END 
    END 
    BLOCK "VarFileInfo" 
    BEGIN 
     VALUE "Translation", 0x809, 1200 
    END 
END 

を: properties http://media.use.com/images/s_1/4ba4e5b1b235179b1c9a.jpg

この画像が出てくることがあり小さいので、私はちょうどそれが言うことを確認します ファイルのバージョン1.0.1.0 製品バージョン1.0.4

私が言う前に、これが私たちができる最善の方法だと思うのですが、代わりにWindowsに "FileVersion"文字列値を表示させる方法はありますか? MSDNのVERSIONINFOのドキュメントを読んだところ、これを行うために設定できるフラグは見当たりません。

+0

私が想定しているプロパティシートハンドラーを置き換えることができます。それは賢明ではないでしょう。 –

+0

いいえ、それは実際に実行可能な解決策のようには聞こえません。しかし、ありがとう。 – Chris

答えて

1

this shell extension I found at CodeProjectをビルドしてインストールした後、これはWindows 7がversioninfoプロパティのサブセットのみを表示しているためで、その変更はできません。 FileVersion文字列はexeファイルにあり、デフォルトのプロパティダイアログには表示されません。

関連する問題