人気ブログランキング | 話題のタグを見る
Visual Studioセットアッププロジェクトでアップデートインストーラを作る
環境:Vitual Studio 2005 Pro

VSのセットアッププロジェクトでマイナーバージョンアップ用アップデートインストーラを作る方法です。
バグの修正等でマイナーバージョンアップする場合、ユーザが現行バージョンを明示的にアンインストールすることなく、アップデート用インストーラが旧バージョンを削除し、新バージョンをインストールするというほうがユーザには優しいでしょう。
もちろん、新規インストール時にも使えるようにする必要もあります。つまり、新規・アップデート兼用インストーラです。
(メージャーバージョンアップの場合はアップグレードになるので、また話が違ってくると思いますが。)

セットアッププロジェクトでちゃんと設定しないと下記のように「別のバージョンの製品が既にインストールされています。」とエラーになったりします。
Visual Studioセットアッププロジェクトでアップデートインストーラを作る_e0091163_19175317.jpg


いろいろ試した結果下記のような設定だとうまくいきました。
セットアッププロジェクトのプロパティを下記のようにします。

RemovePreviousVersionsTrue にする。これは旧バージョンをインストーラで削除するプロパティらしいです。

UpgradeCode は変更しない。(前バージョンと同じコードにする)

ProductCode は新しいコードに変更する。(Versionプロパティを変更するとProductCodeも変更するかVSが聞いてきます)

Version をインクリメントする。

このインストーラでアップデートするとき、インストールフォルダを変更すると、前のインストールフォルダは本来消えないといけないのですが、カスタム動作するようにしてると、やはり *.InstallState ファイルは残ってしまいます。
( *.InstallState が残る件はVisual Studioセットアッププロジェクトのカスタム動作を参照。)


なお、すでにインストールされているバージョンより古いバージョンを入れようとすると下記のメッセージが表示されます。
Visual Studioセットアッププロジェクトでアップデートインストーラを作る_e0091163_19182859.jpg

by jehoshaphat | 2009-01-28 19:18 | .Net開発


<< (VB.Net)DBへの接続文... (ADO.Net)DataSe... >>