user2321103 の答えは素晴らしいです。アップグレード パスに新しいアップグレード エントリを作成することが重要です。残念なことに、このオプションは、ほとんどの人がセットアップ プログラムの通常のデフォルト動作であると自然に期待するものを生成するために必要なため、隠されています。
この新しい回答の理由は、アップグレード エントリの最大バージョンを現在のバージョンよりも高い数値に設定できることがわかったためです。これは、新しいリリースごとにこれを更新することを覚えておく必要がないことを意味します。私の現在のバージョンは 2.1.8 なので、Max Version を 2.1.9999 に設定しました。万が一、将来のリリースで別の動作が必要になる可能性がある場合は、バージョンを 2.2.x に上げることができます。
Microsoft Setup Project は、バージョン番号を変更するたびに製品コードを自動的に更新しますが、Installshield LE は更新しないため、毎回これを行う必要があります。
他の回答が述べているように、アップグレード エントリが以前にインストールされたバージョンのアップグレード コードを使用することが重要です。私はこれを試していませんが、何らかの理由でアップグレード コードが異なる以前のバージョンが複数ある場合は、それぞれに個別のアップグレード エントリを作成できます。
[最小バージョンを含める] と [最大バージョンを含める] の両方を [いいえ] に設定できない理由がわかりませんが、これは機能していないようです。これらのさまざまなパラメーターのすべての組み合わせを試したわけではありませんが、他の回答で述べたように、次の設定でうまくいくようです。
- 最小バージョン: 空白
- 最小バージョンを含める: はい
- 最大バージョン: >= 現在のバージョン
- 最大バージョンを含める: はい
Lang Search Criterion を Exclude に変更しないことも重要なようです。また、[削除の失敗を無視] を [はい] に設定しました。Migrate Feature States を No に設定していますが、とにかくこれは LE エディションには関係ないと思います。