初期インストールのパッチ適用

アプリケーションを初めてインストールするときに、 PATCH プロパティを使用して Windows インストーラー パッチ (MSP) を適用できます。

アプリケーションを初めてインストールするときにパッチを適用するには、コマンド ラインで PATCH プロパティを設定する必要があります。 コマンド ラインで、パッチへの完全なパスを「PATCH={パッチへのパス}」プロパティと値のペアとして指定します。

コマンドラインで PATCH プロパティを指定すると、 MsiApplyPatch または /p コマンドライン オプション の使用時に実行されるパッチ適用性チェックがオーバーライドされることに注意してください。

MsiApplyPatch または /p コマンド ライン オプションを使用してパッチを適用する場合、インストーラーは、コンピューターに現在インストールされているアプリケーションを、 テンプレート サマリー プロパティ内のパッチを受け取る資格のある製品コードのリストと比較します。

最初のインストール時にコマンド ラインで PATCH プロパティを設定すると、パッチ パッケージに埋め込まれた変換の検証条件によって、パッチを受け取る資格のあるアプリケーションが決定されます。 パッチ パッケージを生成するための推奨方法は、 Msimsp.exePATCHWIZ.DLL などのパッチ作成ツールを使用することです。 パッチ内の変換の検証条件は、パッチ作成プロパティ (.pcp) ファイルの TargetImages テーブルの ProductValidateFlags 列から取得されます。

パッチは、コマンド ライン、別のアプリケーション、またはスクリプトによってアプリケーションが初めてインストールされるときに適用できます。

以下は、コマンド ラインからの初回パッチ適用を示しています。

msiexec /I package.msi PATCH="c:\directory\patch.msp"

以下は、別のアプリケーションからの初回パッチ適用を示しています。

UINT uiStat = MsiInstallProduct(_T("package.msi"), _T("PATCH=c:\directory\patch.msp"));

以下はスクリプトからの初回パッチ適用を示しています。

Dim Installer as Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "package.msi", "PATCH=c:\directory\patch.msp"

**Windows インストーラー 3.0 以降: **

Windows インストーラー バージョン 3.0 以降では、アプリケーションを初めてインストールするときに複数のパッチを適用できます。 PATCH プロパティを、パッチの完全パスのセミコロンで区切られたリストに設定します。 以下は、コマンド ラインから複数のパッチを初めて適用する方法を示しています。

msiexec /I package.msi PATCH="c:\directory\patch.msp;c:\directory\patch2.msp;c:\directory\patch3.msp"