2012-01-05 7 views

答えて

1

すべてのVSプロジェクトは基本的にテキストファイルなので、理論的にはあなたが望むことはできますが、VSの中からはできません。

プロジェクトのProductVersionプロパティを変更する必要があります。テキストファイルでは、次のようなものを含む行を探します。

 "ProductVersion" = "8:1.0.1001" 

「1.0.1001」の部分は、あなたの現在のバージョンがあるものは何でもする必要があります。 8:はタイプ識別子のようです。私は8が文字列を意味すると思います。

ProductVersionを更新する場合は、ProductCodeも更新する必要があります。これは単なるGUIDなので、新しいランダムGUIDを単純に生成してToString()することができます。インストーラがプログラムの以前のバージョンを見つけて削除する場合は、UpgradeCodeに触れないでください。

これは、単純な.NETプログラムでは完全に可能です。インストールプロジェクトは他のものと同じようにMSBuildスクリプトではないので、VSビルドに統合するのは手間がかかります。そのため、MSBuildにインストールされているカスタムビルドロジックツールに直接アクセスする必要はありません。可能であれば、インストールプロジェクトのバージョンを更新するビルドタスクを含むように、プライマリプロジェクトのMSBuildスクリプトを設定することができます。ビルド後のアクションを設定することもできます。

0

セットアッププロジェクトのPreBuildイベントから呼び出すバージョン番号を増やすために使用できるスクリプトファイルの例を示します。 (http://www.codeproject.com/Articles/22256/NewSetupVersion-for-MSI-Projects

コメントでamthogによって提起された問題を読む。このスクリプトが実行された後ではなく、ビルド前にプロジェクトが再ロードされないという事実は頭痛を引き起こす可能性があります。ポストビルドイベントが実行された時点で再ロードされていない「外部的に」(このスクリプトによる)変更が原因で失敗しているポストビルドイベントがあります。

これはあなたに関係しない場合、このスクリプトはうまくいくようです。

関連する問題