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

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

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

InstallShieldでの旧Ver自動削除

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

■88953 / inTopicNo.1)  InstallShieldでの旧Ver自動削除
  
□投稿者/ echo (5回)-(2018/10/17(Wed) 10:31:59)

分類:[.NET 全般] 

言語:VB2013

今まではインストーラの作成にVSのセットアッププロジェクトを使用していますが、
今回、InstallShield Limited Edition For Visual Studioを使用して
インストーラの作成を試みています。

まだInstallShieldには慣れていないため、色々と勉強中です。

VSのセットアッププロジェクトでは、前のバージョンのものがインストールされている場合、
セットアップのプロパティで、RemovePreviousVersionをTrueにすることにより
前バージョンを自動削除することができましたが、
InstallShieldの場合、どこで設定するのでしょうか?
何もしなくとも、前バージョンは削除されるのでしょうか?
引用返信 編集キー/
■88954 / inTopicNo.2)  Re[1]: InstallShieldでの旧Ver自動削除
□投稿者/ とっちゃん (545回)-(2018/10/17(Wed) 11:21:16)
No88953 (echo さん) に返信

> VSのセットアッププロジェクトでは、前のバージョンのものがインストールされている場合、
> セットアップのプロパティで、RemovePreviousVersionをTrueにすることにより
> 前バージョンを自動削除することができましたが、
> InstallShieldの場合、どこで設定するのでしょうか?
> 何もしなくとも、前バージョンは削除されるのでしょうか?

WindowsInstaller 的には、RemovePreviousVersion = True の処理は

「UpgradeCode が同じ製品がインストールされていたら、
この製品を旧製品とみなし、自分のインストール時にアンインストールする」

という処理になります。

具体的には下記の2つを行うようにすることで対応できます。

1. UpgradeCode を旧バージョンとみなす製品と同じにする(任意に入力できない限り設定不可)。
2. 旧バージョンがあったらアンインストールする設定を行う(IS的にはMajor Upgradeと呼ぶ)。

IS-LEのインストールされた環境がないので、設定できるかどうかについてはわかりません。

引用返信 編集キー/
■88960 / inTopicNo.3)  Re[2]: InstallShieldでの旧Ver自動削除
□投稿者/ echo (6回)-(2018/10/17(Wed) 18:14:58)
2018/10/17(Wed) 18:15:24 編集(投稿者)

とっちゃん様、いつもお世話になっております。

> 具体的には下記の2つを行うようにすることで対応できます。
>
> 1. UpgradeCode を旧バージョンとみなす製品と同じにする(任意に入力できない限り設定不可)。
> 2. 旧バージョンがあったらアンインストールする設定を行う(IS的にはMajor Upgradeと呼ぶ)。

色々と調べて、うまくいきました。
2.のMajor Upgradeについては、以下の手順で対応できました。
・Product Codeを変更する。
・Upgrade Pathsに「New Upgrade Path」で新規アップグレードエントリを追加し、
 アップグレード対象バージョン等を設定する。

今後ともよろしくお願いいたします。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ