MsiEmbeddedUI テーブル
MsiEmbeddedUI テーブルは、Windows インストーラー パッケージに埋め込まれたユーザー インターフェイスを定義します。
Windows インストーラー 4.0 以前: サポートされていません。 このテーブルは、Windows インストーラー 4.5 以降で使用できます。
MsiEmbeddedUI テーブルには次の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
MsiEmbeddedUI | Identifier | Y | N |
FileName | テキスト | N | N |
属性 | 整数 | N | N |
MessageFilter | DoubleInteger | N | Y |
Data | Binary | N | N |
[列]
-
MsiEmbeddedUI
-
テーブルの主キー。
-
FileName
-
[データ] 列のバイナリ情報を受け取るファイルの名前。 ファイルの名前には、拡張子を含める必要があります。 たとえば、 embeddedui.dll という名前は許容されますが、 embeddedui は受け入れられません。 名前はローカライズできます。 このフィールドには、短いファイル名または長いファイル名を含めることができますが、両方を含めることはできません。 このフィールドの形式は Filename 列のデータ型に似ていますが、短いファイル名/長いファイル名構文の垂直バー (|) の区切り記号は例外で使用できません。 一部の Web サーバーでは大文字と小文字が区別される場合があるため、インターネット ダウンロードのサポートを確保するために、FileName はソース ファイルの大文字と小文字を正確に一致させる必要があります。
-
Attributes
-
[データ] 列のデータに関する情報。 このフィールドの値には、次の定数を 1 つ以上を含めることができます。
一定 16 進数 Decimal (10 進数型) 説明 None 0x00 0 ファイルは、ユーザー インターフェイスの DLL ファイルではありません。 これは、ユーザー インターフェイスで使用されるリソース ファイルである場合もあります。 msidbEmbeddedUI 0x01 1 ユーザー インターフェイスのプライマリ DLL ファイル。 この属性でマークできるのは、テーブル内の1 行だけです。 この属性で複数の行がマークされている場合はエラーであり、どの DLL が使用されているかを保証できません。 msidbEmbeddedHandlesBasic 0x02 2 基本的な UI レベルのインストール中に、インストーラーは埋め込み UI を呼び出すことができます。 msidbEmbeddedUI 属性と組み合わされていない場合、インストーラーはこの属性を無視します。 -
MessageFilter
-
ユーザー インターフェイス DLL に送信されるメッセージの種類を指定します。 この列は、 msidbEmbeddedUI 属性を持つ行にのみ関連します。 行がリソース ファイルを参照し、Attributes の値が null の場合、このフィールドは null である必要があります。 行がユーザー インターフェイス DLL を参照している場合、この列の値を null にすることはできません。
この列の値は、次の値の組み合わせにすることができます。 インストーラーは、その他の値を無視します。
一定 16 進数 Decimal (10 進数型) 説明 INSTALLLOGMODE_FATALEXIT 0x00001 1 途中終了。 INSTALLLOGMODE_ERROR 0x00002 2 エラー メッセージ。 INSTALLLOGMODE_WARNING 0x00004 4 警告メッセージ。 INSTALLLOGMODE_USER 0x00008 8 ユーザー メッセージ。 INSTALLLOGMODE_INFO 0x00010 16 ログに記録されていないステータス メッセージ。 INSTALLLOGMODE_FILESINUSE 0x00020 32 現在使用中のファイル。 INSTALLLOGMODE_RESOLVESOURCE 0x00040 64 ソース解決要求。 INSTALLLOGMODE_OUTOFDISKSPACE 0x00080 128 ディスク領域のメッセージ。 INSTALLLOGMODE_ACTIONSTART 0x00100 256 アクション開始メッセージ。 INSTALLLOGMODE_ACTIONDATA 0x00200 512 アクション データ メッセージ。 INSTALLLOGMODE_PROGRESS 0x00400 1024 進行状況に関するメッセージ。 INSTALLLOGMODE_COMMONDATA 0x00800 2048 UI 初期化メッセージ。 INSTALLLOGMODE_INITIALIZE 0x01000 4096 製品のインストールの開始時に送信される UI スタートアップ メッセージ。 INSTALLLOGMODE_TERMINATE 0x02000 8192 製品のインストールが完了した後に送信される UI シャットダウン メッセージ。 INSTALLLOGMODE_SHOWDIALOG 0x04000 16384 UI ダイアログの表示前に送信されるメッセージ。 INSTALLLOGMODE_RMFILESINUSE 0x02000000 33554432 現在使用中のファイル。 INSTALLLOGMODE_INSTALLSTART 0x04000000 67108864 製品のインストールが開始されます。 メッセージには、製品の ProductName と ProductCode が含まれています。 INSTALLLOGMODE_INSTALLEND 0x08000000 134217728 製品のインストールが終了します。 メッセージには、製品の ProductName、ProductCode、および戻り値が含まれています。 -
Data
-
この列にはバイナリ情報が含まれています。 属性フィールドが msidbEmbeddedUI 属性でマークされている場合、このフィールドの情報は DLL である必要があります。 属性フィールドが msidbEmbeddedUI 属性ではない場合、このフィールドの情報は任意の形式のリソース ファイルにすることができます。
解説
埋め込みユーザー インターフェイスを使用するには、セットアップ開発者がこの機能を Windows インストーラー パッケージに作成する必要があります。 MsiEmbeddedUI テーブルは、埋め込みユーザー インターフェイスを定義します。 埋め込み UI の DLL は、 InitializeEmbeddedUI、 EmbeddedUIHandler、 ShutdownEmbeddedUI 関数をエクスポートする必要があります。 埋め込みユーザー インターフェイスをサポートしていないパッケージは、Windows インストーラーの内部ユーザー インターフェイスを使用できます。
埋め込みユーザー インターフェイスで Windows 用デバッグ ツール を実行するには、「 カスタム アクションのデバッグ」で説明されている手法を使用します。 MsiBreak の値を MsiEmbeddedUI に設定します。
埋め込みカスタム UI の例については、「 埋め込み UI の使用」を参照してください。