18. 既存のMSIアプリケーションのアップグレード

エンドユーザーは、現在のアプリケーションをダウングレードすることはできません。例えばバージョン 1.22.444をバージョン 1.22.333にアップグレードすることはできません。

既存のアプリケーションの上に新しいバージョンをインストールするのに使われるのと同じ手順に従ってください。つまり、単にMSIファイルをダブルクリックするか、または msiexec.exe をコマンドラインから実行します。

アップグレードの省略値は、すべての設定を前のインストールと同じにします。アップグレードではローカル・データベース・ダイアログが表示され、ダイアログが有効になっている場合、必要に応じてセットアップ・データベース・チェックボックスの選択ができます。他のユーザー・データ入力ダイアログはすべて省略されます。したがって、アップグレードには以下のダイアログのみ表示することができます。

上記のダイアログの詳細については、 「17.1.6 バージョン・インストールのダイアログ」を参照してください。

アップグレード処理では、新しいアプリケーションのバージョンのインストールの前に、以前のバージョンのアンインストールが必要です。新しいバージョンは、データベースの変更を含む完全なアプリケーションを含む必要があります。新しいインストールは旧バージョンの区画フォルダーのコピーを保存し、データベース上でアップグレード処理を実行する前にそのフォルダーを復元します。テーブルについては、データをアンロードし、変更を適用し、次にデータをリロードします。

アプリケーションの新しいバージョンは以前のバージョンと同時にインストールできません。したがって、新しいバージョンのインストールでは、常に以前のバージョンが先に削除され、コントロール・パネルには1つだけエントリーされます。

1 :アップグレードでは、前回のインストールからの値が使用され、変更は許可されていません。(データベースのパラメータを除く) 無効な値が使用された場合は、無効のままになります。これを上書きするには、コマンドラインのプロンプトの msiexec.exe でインストールを実行し、正しいパラメータを引き渡します。例えば、MSI のフォーム名が当初は "MYFORM" だったものを "MYFORM2" に変更するには、コマンドラインは次のようになります。

Msiexec.exe /i MYAPP_v1.0.2_en-us.msi FORM=MYFORM2

2: アップグレード後にエラーを発見した場合は、アプリケーションをアンインストールし、最新の MSI ファイルを使って再インストールする必要があります。データベース内のテーブルは既にアップデートされていて、異なるテーブル定義の可能性があるので、元の MSI をインストールしないようにしてください。