プロダクトマネジメントは、私たちのソフトウェアのバージョン番号に通常の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のドキュメントを読んだところ、これを行うために設定できるフラグは見当たりません。
私が想定しているプロパティシートハンドラーを置き換えることができます。それは賢明ではないでしょう。 –
いいえ、それは実際に実行可能な解決策のようには聞こえません。しかし、ありがとう。 – Chris