豚吐露@wiki
アップデートを管理させる手順
最終更新:
Bot(ページ名リンク)
-
view
アップデートを管理させる手順
Visual Studio 2012より前のmsiプロジェクトでは、過去のバージョンからのアップデートを特に意識しなくても問題無かったが、InstallShield Limited Editionでは、任意に定義してあげないとアップグレードが機能してくれなくて...こんなことになる。


これはアップグレードの管理機能を設定してないから、install時に旧バージョンのチェックとかが行われていない状態。
なので、設定を追加してアップグレードを管理させる。
※Project Assistantにこの辺設定する項目が無いのっておかしく無いっすか?(-ω-;)
※Project Assistantにこの辺設定する項目が無いのっておかしく無いっすか?(-ω-;)
InstallShield LEのプロジェクトを追加済みの前提でお話を進める。
左のtreeから[①Organize Your Setup]-[Upgrade Paths]を選択。
右ウィンドウにもtreeが現れるから『Upgrade Paths』を右クリックして『New Upgrade Path...』を選択。

右ウィンドウにもtreeが現れるから『Upgrade Paths』を右クリックして『New Upgrade Path...』を選択。

するとダイアログが開く。ココでmsi形式かexe形式のインストーラを指定する。
ココで指定するのは、msiやexeから『Upgrade Code』やVersion情報を取得するため。なので、『Upgrade Code』やVersion情報を把握してるなら、何指定しても構わない。

ココで指定するのは、msiやexeから『Upgrade Code』やVersion情報を取得するため。なので、『Upgrade Code』やVersion情報を把握してるなら、何指定しても構わない。

ただし、インストーラ以外のexeとかを指定すると、警告のダイアログが表示される。
警告されてもentry追加されるので構わんのですけどね。

警告されてもentry追加されるので構わんのですけどね。

で、指定して『開く』ボタン押下すると、以下のようにentryが追加される。
※『Upgrade Code』を指定して

※『Upgrade Code』を指定して

まずは、名前を設定してUpgradeに関するentryだと分かり易くする。


で、各項目の設定を行う。
Upgrade Code | upgrade元のmsiやsetup.exeで指定されてるものを指定。 複数のUpgrade Codeが指定されてる場合は、その分だけentryを追加する必要がある。 |
Min Version | upgrade対象の最小versionの値。空欄設定すると下限無し。 |
Include Min Version | Min Version設定値をUpgrade対象に含めるか? |
Max Version | upgrade対象の最大versionの値。空欄設定すると上限無し。 |
Include Max Version | Max Version設定値をUpgrade対象に含めるか? |
Language Identifiers | 言語識別子設定。合ってないとアップグレードできないみたい。 とりあえず、『1041』(Japanese)にしとけば問題無いと思われる。 『カンマ(,)』区切りで複数言語を設定することもできるらしい。 |
Lang Search Criterion | Include Language Identifier(s) Specified: 以前のインストーラの言語識別子設定を含める。 Exclude Language Identifier(s) Specified: 以前のインストーラの言語識別子設定を含め無い。 空欄にすると全ての言語設定を含めるって事になるらしい。 |
Ignore Remove Failure | よう分からん設定なので多分ですが... アップグレード元の旧バージョンがinstall済みだったら、新バージョンinstall前に旧バージョンの削除にかかります。 この削除に失敗した場合、新バージョンのインストールを中止するかしないかを設定する。 『No』が選択されたら中止して、『Yes』だったら上書きinstallすんのかな? |
Migrate Feature Status | アップグレード時に機能選択画面を表示するか設定する。LEでは関係の無い設定。 |
ちなみに、Min~Maxの範囲外のversionがinstallされている状態へ、新しいアプリケーションをinstallしようとすると、警告とか出ずに普通にinstallされる。
で、この状況...(´・ω・`)

範囲外のversionがinstallされてる状態へ、新しいのinstallしようとしたら警告出るようにできんかなぁ...何か方法無いんかなぁ...
で、この状況...(´・ω・`)

範囲外のversionがinstallされてる状態へ、新しいのinstallしようとしたら警告出るようにできんかなぁ...何か方法無いんかなぁ...
c.f.) 参考までにInstallShield 2014のBasic MSI Projectでの同機能の場所


更新日: 2014年07月23日 (水) 11時01分58秒