C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: msiのバージョンアップで元のバージョンのアンインストール


(過去ログ 176 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■101246 / inTopicNo.1)  msiのバージョンアップで元のバージョンのアンインストール
  
□投稿者/ ガンダーラ (1回)-(2023/01/22(Sun) 20:08:35)

分類:[.NET 全般] 

いつもお世話になっております

・VS2017で win32アプリを 作っています
・インストーラは msi で作成しています

<質問>
バージョンアップのときに元のバージョンのアンインストールが必須となるようですが
エラーを出さずに強制的に上書きインストーをさせたいのですが
そのような方法はありますか?
引用返信 編集キー/
■101249 / inTopicNo.2)  Re[1]: msiのバージョンアップで元のバージョンのアンインストール
□投稿者/ Azulean (1262回)-(2023/01/22(Sun) 21:56:25)
No101246 (ガンダーラ さん) に返信
> <質問>
> バージョンアップのときに元のバージョンのアンインストールが必須となるようですが
> エラーを出さずに強制的に上書きインストーをさせたいのですが
> そのような方法はありますか?

「エラーを出さず」と希望されていますが、現状はどうなっているのですか?

・「同じバージョンがすでにインストールされている」といった主旨のエラーで阻まれる場合は、Windows Installerの「メジャーアップグレード」という概念を学んでください。
・基本的に実行中のアプリケーションのファイルは上書きできませんので、終了する必要はあります。
引用返信 編集キー/
■101250 / inTopicNo.3)  Re[2]: msiのバージョンアップで元のバージョンのアンインストール
□投稿者/ ガンダーラ (2回)-(2023/01/22(Sun) 22:07:12)
No101249 (Azulean さん) に返信

ご返信ありがとうございます
言葉足らずで申し訳ありません


<アプリ実行中>
当該アプリは実行中ではない前提です


<現在のインストール時の状況>
インストールしようとすると
現在インストール済みのバージョンをアンインストールしてからインストールしてください
となり、エラーストップします。


<メジャーアップグレード>
メジャーアップグレードの場合別バージョンとしてインストールされる、という意味でしょうか?
であれば、マイナーアップグレードの状況を想定しています
1.0.0.1
から
1.0.0.2
へのアップグレードのときを想定しています







引用返信 編集キー/
■101251 / inTopicNo.4)  Re[3]: msiのバージョンアップで元のバージョンのアンインストール
□投稿者/ Azulean (1263回)-(2023/01/23(Mon) 06:51:24)
No101250 (ガンダーラ さん) に返信
> <メジャーアップグレード>
> メジャーアップグレードの場合別バージョンとしてインストールされる、という意味でしょうか?

違います。
先ほども「Windows Installer のメジャーアップグレード」と書いた通り、インストール時の挙動に関する話です。


> であれば、マイナーアップグレードの状況を想定しています
> 1.0.0.1
> から
> 1.0.0.2
> へのアップグレードのときを想定しています

よって、バージョン番号の変化について言及したつもりはありません。
Windows Installer のバージョンアップ時の挙動の選択肢の1つのことです。

その仕様があることを理解し、適切なプロパティを変更してください。


参考例
https://qiita.com/tohshima/items/2dfa841cbab3d8488641
引用返信 編集キー/
■101253 / inTopicNo.5)  Re[1]: msiのバージョンアップで元のバージョンのアンインストール
□投稿者/ とっちゃん (773回)-(2023/01/23(Mon) 13:21:40)
No101246 (ガンダーラ さん) に返信
> いつもお世話になっております
>
> ・VS2017で win32アプリを 作っています
> ・インストーラは msi で作成しています
>
> <質問>
> バージョンアップのときに元のバージョンのアンインストールが必須となるようですが
> エラーを出さずに強制的に上書きインストーをさせたいのですが
> そのような方法はありますか?

インストーラは、Visual Studio Installer Projects(以下VSI) を拡張機能で入れてそれで作ってますか?
それともほかの方法ですか?
インストーラ作成ツールによっても設定方法が異なります。

VSIの場合は、
1. バージョンを上げる(1.0.0 -> 1.1.0など)
2. ProductCode を変更する(この際UpgradeCodeは変更されないように質問に答えること)
3. RemovePreviousVersions を True にする
の3つを設定してやれば既にインストールされている場合はアップデートするようになったと思います。

今手元にVSIを入れてる環境がないので詳細はちょっとわかりかねますが…



引用返信 編集キー/
■101277 / inTopicNo.6)  Re[2]: msiのバージョンアップで元のバージョンのアンインストール
□投稿者/ ガンダーラ (3回)-(2023/01/28(Sat) 06:41:00)
Azuleanさま

ご紹介いただいたページを見ました。
とてもよくわかりました!
ありがとうございます


とっちゃんさま

インストーラはVSIです
ご記載の方法を試させていただいたところ
思った通りの動作となりました


ありがとうございました!


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -