こんにちは。いつもお世話になっております。
VS2008 Standard Editionでプログラムを作成しております。
さて、セットアッププロジェクトを用いてインストーラを作成し、他のPCにプログラムのインストールを行っているのですが、
プログラムに付随しているファイル(exeがインストールされているフォルダにあるファイル:パラメータが入ったデータ)を
最新版に差し替えたいことがあります。
もちろん、直接ファイルを上書きしてもいいのですが、あまりPrigram Files内をほかの人にいじらせたくありません。
そこで、アップデート用のインストーラを作成したいのですが、すでにインストールされているプログラムのアンインストールは行わずに、
exeは更新せず、添付のファイルだけ更新するようなインストーラをセットアッププログラムで作成することは可能でしょうか?
もし可能であれば、どのように作成すればよいか、作成時の注意点(各プロパティの設定など)をお教え頂けるとありがたいです。
どうぞよろしくお願いします。
インストーラは詳しくありませんが、どうも Visual Studio が標準で備える機能では不可能な気がします。
http://dobon.net/vb/dotnet/deployment/upgrades.html
http://msdn.microsoft.com/ja-jp/library/aafz9hx4.aspx
Windows Installer の機能としては可能なのですが、Visual Studio のセットアッププロジェクトは貧弱ですから…。
どうも、Visual Studio だけでは、
・別の製品として別のディレクトリにインストール
・前のバージョンを削除して同じディレクトリにインストール
のどちらかしかサポートしていないようです。
前のバージョンを削除せず同じディレクトリにインストールすると、コントロールパネルの「プログラムの追加と削除」に2つ表示されてしまうので、避けるべきでしょう。
Orca等のツールを駆使すれば可能でしょうが、そこまでして実現したいでしょうか?
個人的には、やるなら徹底的に、セットアッププロジェクトを使うのをやめて本格的なインストーラ作成ツールを使うか、楽をするなら一旦アンインストールするかがいいと思います。
aetos様、コメントありがとうございました。
ご連絡が遅くなりましたが、試行錯誤の結果、とりあえず以下のような対応を行ってみたいと思います。
・更新したいファイルだけでなく、exe等必要なファイルをすべてセットアッププロジェクトに含める。
・セットアッププロジェクトのRemovePreviousVersionsプロパティをTrueにする。
・セットアッププロジェクトのVersionプロパティを更新する。
(このとき、ProductCodeを更新するかを聞いてくるので、これも更新してしまう。)
もう少し色々と試してみる必要はあると思いますが、これで、前バージョンでセットアップしたソフトと
新しくセットアップするソフトのインストール先フォルダを変えた場合でも、前バージョンのインストールファイルや
インストール情報は削除されるようです。
もう少し確認してみようと思いますが、この質問については解決とさせていただきます。
ありがとうございました。
今後ともよろしくお願いします。
ツイート | ![]() |