Visual StudioでMSIファイルにファイルバージョンを埋め込むにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/151250

質問

C#プログラムのセットアッププロジェクトがあり、このセットアッププロジェクトのプロパティにバージョンがあります。生成されたMSIファイルにこのバージョンを埋め込むようにしたいので、エクスプローラーでマウスオーバーして、ファイルのバージョンを確認できます。

VS2008を使用しています。どうすればいいですか?

役に立ちましたか?

解決

単に" Version:1.5.0"を追加する場合テキストをセットアッププロジェクトのDescriptionプロパティに入力すると、バージョン番号もMSIファイルに次のように表示されます。

http://screencast.com/t/A499i6jS

他のヒント

それは良い質問ですが、それを可能にするセットアップツールがどのもわかりません。さらに、ファイルバージョンリソースが埋め込まれた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ファイルのバージョンに従いませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top