Visual StudioでMSIファイルにファイルバージョンを埋め込むにはどうすればよいですか?
-
02-07-2019 - |
質問
C#プログラムのセットアッププロジェクトがあり、このセットアッププロジェクトのプロパティにバージョンがあります。生成されたMSIファイルにこのバージョンを埋め込むようにしたいので、エクスプローラーでマウスオーバーして、ファイルのバージョンを確認できます。
VS2008を使用しています。どうすればいいですか?
解決
単に" Version:1.5.0"を追加する場合テキストをセットアッププロジェクトのDescriptionプロパティに入力すると、バージョン番号もMSIファイルに次のように表示されます。
他のヒント
それは良い質問ですが、それを可能にするセットアップツールがどのもわかりません。さらに、ファイルバージョンリソースが埋め込まれたMSIファイルに遭遇したことはないため、一般的な方法ではありません。通常、MSIファイルのバージョンを知りたい場合は、で開く必要があります。 Orca で、そこにあるProductVersionプロパティを確認します(Propertyテーブル内)。
私の知る限り、MSIファイルにはバージョンが表示されません。単純な理由は、MSIファイルはPEファイルではなく、一種のデータベースです。 Msiexec.exeは、このデータベースを解釈して実際のインストールを実行します。言及したバージョンプロパティは、アップグレードやアンインストールなどのためにMSIエンジンによって内部的に使用され、表示されることはありません。
関連する.vdprojファイルをテキストエディターで開きます。 「製品」を探します。セクションで、「ProductVersion」および「Manufacturer」を変更します。フィールド。
"Product"
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:tidAxCleanupScript"
"ProductCode" = "8:{0949AAAD-2C29-415E-851C-825C74C9CA81}"
"PackageCode" = "8:{8F012EF1-D5D0-43DC-BBFD-761A639DDB07}"
"UpgradeCode" = "8:{38DE1949-0782-4EF3-BDC2-080EB5B73EF8}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:**1.5.0**"
"Manufacturer" = "8:**Default Company Name**"
"ARPHELPTELEPHONE" = "8:"
間違っている可能性がありますが、msiバージョンは、スタートアッププロジェクトのAssemblyInfoファイルのバージョンに従いませんか?