インターネット ダウンロードのブートストラップ

Windows インストーラーでは、構成可能なブートストラップ実行可能ファイル (Setup.exe) と構成ツール (Msistuff.exe) が Windows インストーラー開発者向け Windows SDK コンポーネントに含まれています。 Msistuff.exe を使用して Setup.exe 内のリソースを構成することにより、開発者は Windows インストーラー パッケージの Web インストールを簡単に作成できます。

ブートストラップ実行可能ファイルに必要な最小インストーラー バージョンは、Windows インストーラー バージョン 2.0 です。 アプリケーションは、DllGetVersion を使用してインストーラー バージョンを取得できます。 詳細については、「Windows インストーラーのバージョンの決定」を参照してください。

Windows インストーラー SDK で提供されるブートストラップ実行可能ファイルは、次の処理を行います。

  • WinVerifyTrust を呼び出して、.msi ファイルのデジタル署名を確認します。 Windows インストーラー バージョン 2.0 以降のバージョンでは、Windows インストーラー パッケージの署名を有効にするサブジェクト インターフェイス パッケージ (SIP) が提供されます。
  • 必要に応じて、コンピューター上の Windows インストーラーのバージョンをアップグレードします。

Msistuff.exe を使用して、Setup.exe の次のリソースを表示または構成できます。

Resource ID 説明
ISETUPPROPNAME_BASEURL Setup.exe のベース URL の場所。 値が指定されていない場合、Setup.exe の場所は既定でリムーバブル メディアに設定されます。 WinVerifyTrust によるチェックの対象となるのは、URL ベースのインストールのみです。 URL の末尾のスラッシュは省略可能です。 このリソースは省略可能です。
ISETUPPROPNAME_DATABASE .msi ファイルの名前。 これは、Setup.exe プログラムの場所を起点として指定された .msi ファイルの相対パスです。 リソース ISETUPPROPNAME_PATCH が指定されていない場合は、このリソースが必要です。 ISETUPPROPNAME_DATABASE と ISETUPPROPNAME_PATCH の両方を指定することはできません。 指定できるのは 2 つのうち 1 つだけです。
ISETUPPROPNAME_OPERATION 実行する操作の種類。 可能な値は、INSTALL、MINPATCH、MINPATCH、MAJPATCH、INSTALLUPD です。 INSTALL 値は、パッケージの初回インストールと同じになります。 MINPATCH 値は、PATCH プロパティで指定されたパッチが小規模またはマイナー アップグレード パッチであることを示します。 MAJPATCH 値は、PATCH プロパティで指定されたパッチがメジャー アップデート パッチであることを示します。 INSTALLUPD は、インストールが初回インストールまたは更新プログラムである可能性があることを示します。 INSTALLUPD を使用すると、製品の存在についてブートストラップ チェックが行われます。 製品が存在する場合は、再キャッシュ パッケージ フラグが設定され、再インストールが実行されます。それ以外の場合は、通常のインストールが実行されます。 INSTALLUPD は、製品コードが変更されない小規模でマイナーなアップグレード パッケージにのみ使用する必要があることに注意してください。 メジャー アップグレードでは、製品コードが変更され、本質的にまったく新しい製品が作成されるため、REINSTALL は必要ありません。 FindRelatedProducts、MigrateFeatureStates、RemoveExistingProducts アクションに加えて、Upgrade テーブルの作成では、元の製品のアップグレードが処理されます。 したがって、INSTALL オプションで十分です。 このリソースがない場合は、ISETUPPROPNAME_DATABASE プロパティが作成されている場合、INSTALL 操作が想定されます。 それ以外の場合は、ISETUPPROPNAME_PATCH プロパティが作成されている場合、MINPATCH が想定されます。 これはオプションの値です。
ISETUPPROPNAME_PRODUCTNAME 製品の名前です。 これは、ダウンロードされたユーザー インターフェイスのバナー テキストで使用される名前です。 このリソースは省略可能です。 省略すると、名前の既定値は "product" になります。
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 で指定された場所を起点とした ANSI バージョンの Instmsi.exe の相対パスです。 このリソースは必須です。
ISETUPPROPNAME_INSTMSIW Windows インストーラーのアップグレード実行可能ファイルの Unicode バージョンの名前。 これは、ISETUPPROPNAME_INSTLOCATION で指定された場所を起点とした Unicode バージョンの Instmsi.exe の相対パスです。 このリソースは必須です。
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 インストーラー開発者向け 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 インストーラー インストールの例」を参照してください。