インターネット ダウンロードのブートストラップ
Windows インストーラーでは、構成可能なブートストラップ実行可能ファイル (Setup.exe) と構成ツール (Msistuff.exe) が、Windows インストーラー Developers 向け Windows SDK コンポーネント に含まれています。 Msistuff.exe を使用して Setup.exe 内のリソースを構成することにより、 Developers は Windows インストーラー パッケージの Web インストールを簡単に作成できます。
ブートストラップ実行可能ファイルに必要な最小インストーラー バージョンは、Windows インストーラー バージョン 2.0 です。 アプリケーションは、 DllGetVersion を使用してインストーラーのバージョンを取得できます。 詳細については、 Windowsインストーラーのバージョンの確認を参照してください。
Windows インストーラー SDK に付属するブートストラップ実行可能ファイルは、次のことを実行します。
- WinVerifyTrust を呼び出して、.msi ファイルのデジタル署名を検証します。 Windows インストーラー バージョン 2.0 以降では、Windows インストーラー パッケージの署名を有効にするために、Subject Interface Package (SIP) が提供されています。
- 必要に応じて、マシン上の Windows インストーラーのバージョンをアップグレードします。
Setup.exe の次のリソースは、 Msistuff.exe を使用して表示または構成できます。
Resource ID | 説明 |
---|---|
ISETUPPROPNAME_BASEURL | Setup.exe のベース URL の場所です。 値が指定されていない場合、Setup.exe の場所はデフォルトでリムーバブル メディアになります。 URL ベースのインストールのみが WinVerifyTrustによるチェックの対象となります。 URL の末尾のスラッシュはオプションです。 このリソースはオプションです。 |
ISETUPPROPNAME_DATABASE | .msi ファイルの名前。 これは、Setup.exe プログラムの場所を基準にして指定された .msi ファイルへの相対パスです。 リソース ISETUPPROPNAME_PATCH が指定されていない場合は、このリソースが必要です。 ISETUPPROPNAME_DATABASE と ISETUPPROPNAME_PATCH の両方を指定することはできません。 指定できるのは 2 つのうち 1 つだけです。 |
ISETUPPROPNAME_OPERATION | 実行する操作のタイプ。 可能な値は、INSTALL、MINPATCH、MAJPATCH、INSTALLUPD です。 INSTALL 値は、パッケージの初回インストールに相当します。 MINPATCH 値は、PATCH プロパティで指定されたパッチが小規模またはマイナーなアップグレード パッチであることを示します。 MAJPATCH 値は、PATCH プロパティで指定されたパッチがメジャー更新パッチであることを示します。 INSTALLUPD は、インストールが初回インストールまたは更新である可能性があることを示します。 INSTALLUPD を使用すると、ブートストラップによって製品の存在がチェックされます。 製品が存在する場合は、再キャッシュ パッケージ フラグが設定され、再インストールが実行されます。それ以外の場合は、通常のインストールが実行されます。 INSTALLUPD は、製品コードが変更されない小規模およびマイナー アップグレード パッケージにのみ使用する必要があることに注意してください。 メジャー アップグレードでは、製品コードが変更され、本質的にまったく新しい製品が作成されるため、再インストールは必要ありません。 FindRelatedProducts、MigrateFeatureStates、および RemoveExistingProducts アクションに加えて、アップグレード テーブル作成により、元の製品のアップグレードが処理されます。 したがって、INSTALL オプションで十分です。 このリソースが欠落している場合、ISETUPPROPNAME_DATABASE プロパティが作成されると、INSTALL 操作が想定されます。 それ以外の場合、ISETUPPROPNAME_PATCH プロパティが作成されると、MINPATCH が想定されます。 これフィールドは必須ではありません。 |
ISETUPPROPNAME_PRODUCTNAME | 生産の名前。 これは、ダウンロードしたユーザー インターフェイスのバナー テキストで使用される名前です。 このリソースはオプションです。 省略した場合、名前はデフォルトで「製品」になります。 |
ISETUPPROPNAME_MINIMUM_MSI | 必要な Windows インストーラーの最小バージョン。 コンピュータに Windows インストーラーの最小バージョンがインストールされていない場合は、適切な Instmsi.exe が呼び出され、Windows インストーラーがアップグレードされます。 このプロパティの値は、PID_PAGECOUNT 値と同じ形式になります。 詳細については、 ページ数の概要 プロパティを参照してください。 この値は、Windows インストーラー バージョン 2.0 を識別する値である 200 以上である必要があります。 このリソースは必須です。 |
ISETUPPROPNAME_INSTLOCATION | Windows インストーラーのアップグレード実行可能ファイルの基本 URL の場所です。 このリソースは省略できます。 この値を省略すると、アップグレード実行可能ファイルのデフォルトの場所は Setup.exe の場所になります。 |
ISETUPPROPNAME_INSTMSIA | Windows インストーラー アップグレード実行可能ファイルの ANSI バージョンの名前。 これは、ISETUPPROPNAME_INSTLOCATION で指定された場所を基準とした Instmsi.exe の ANSI バージョンへの相対パスです。 このリソースは必須です。 |
ISETUPPROPNAME_INSTMSIW | Windows インストーラー アップグレード実行可能ファイルの Unicode バージョンの名前。 これは、ISETUPPROPNAME_INSTLOCATION で指定された場所を基準とした Instmsi.exe の Unicode バージョンへの相対パスです。 このリソースは必須です。 |
ISETUPPROPNAME_PATCH | .msp ファイルの名前。 これは、Setup.exe プログラムの場所を基準にして指定された .msp ファイルへの相対パスです。 リソース ISETUPPROPNAME_DATABASE が指定されていない場合は、このリソースが必要です。 ISETUPPROPNAME_DATABASE と ISETUPPROPNAME_PATCH の両方を指定することはできません。 指定できるのは 2 つのうち 1 つだけです。 |
ISETUPPROPNAME_PROPERTIES | PROPERTY=VALUE 文字列。 これらは、コマンド ラインに含める PROPERTY=VALUE のペアです。 このオプションは省略可能です。 |
たとえば、次の仮想パッケージの場所には、次の ISETUPPROPNAME_BASEURL および ISETUPPROPNAME_DATABASE 値が使用されます。
実際のパッケージの場所 | リソースの値 |
---|---|
https://www.blueyonderairlines.com/Products/Product1/product1.msi | ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = product1.msi |
https://www.blueyonderairlines.com/Products/Product1/product1.msi | ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = ../Products1/product1.msi |
e:\product1.msi | ISETUPPROPNAME_BASEURL を省略します。 ISETUPPROPNAME_DATABASE = product1.msi |
e:\setup\product1.msi (Setup.exe の現在実行中の場所は e:\setup.exe です。) |
ISETUPPROPNAME_BASEURL を省略します。 ISETUPPROPNAME_DATABASE = Setup\product1.msi |
Setup.exe のコマンド ライン パラメータ
次の表は、 Windows Installer Developers 用 Windows SDK コンポーネントに同梱されている Setup.exe で使用できるコマンド オプションを示しています。 コマンドライン オプションなしで呼び出されると、Setup.exe は構成されたリソースで指定された動作をデフォルトとして実行します。 コマンドライン オプションは相互に排他的であり、一度に使用できるのは 1 つだけです。
オプション | 使用方法 | 意味 |
---|---|---|
/a | setup.exe /a | 管理インストールを開始します。 ISETUPPROPNAME_DATABASE プロパティが Setup.exe で構成されている場合は、このオプションを使用して製品の管理インストールを実行できます。 ISETUPPROPNAME_PATCH リソースが構成されている場合、このコマンド ライン オプションはサポートされません。 |
/a | setup.exe /a <既存の管理インストールへのフルパス> | ISETUPPROPNAME_PATCH プロパティが Setup.exe で構成されている場合、このオプションを使用して、製品の既存の管理インストールにパッチを適用できます。 ISETUPPROPNAME_DATABASE リソースが構成されている場合、このコマンド ライン オプションはサポートされません。 |
/v | setup.exe /v <ファイルへのフルパス> | WinVerifyTrust を使用してファイルの署名を検証します。 このオプションを使用すると UI は表示されません。 この場合、信頼チェックの結果は、Setup.exe の実行から取得される戻り値になります。 |
/? | 有効な引数を示すヘルプ ダイアログを表示します。 注: 無効な引数が指定された場合もヘルプ ダイアログが表示されます。 |
詳細については、「URL ベースの Windows インストーラーのインストール例」を参照してください。