初期インストールのパッチ適用
アプリケーションを初めてインストールするときに、 PATCH プロパティを使用して Windows インストーラー パッチ (MSP) を適用できます。
アプリケーションを初めてインストールするときにパッチを適用するには、コマンド ラインで PATCH プロパティを設定する必要があります。 コマンド ラインで、パッチへの完全なパスを「PATCH={パッチへのパス}」プロパティと値のペアとして指定します。
コマンドラインで PATCH プロパティを指定すると、 MsiApplyPatch または /p コマンドライン オプション の使用時に実行されるパッチ適用性チェックがオーバーライドされることに注意してください。
MsiApplyPatch または /p コマンド ライン オプションを使用してパッチを適用する場合、インストーラーは、コンピューターに現在インストールされているアプリケーションを、 テンプレート サマリー プロパティ内のパッチを受け取る資格のある製品コードのリストと比較します。
最初のインストール時にコマンド ラインで PATCH プロパティを設定すると、パッチ パッケージに埋め込まれた変換の検証条件によって、パッチを受け取る資格のあるアプリケーションが決定されます。 パッチ パッケージを生成するための推奨方法は、 Msimsp.exe や PATCHWIZ.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"