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 は、 InitializeEmbeddedUIEmbeddedUIHandlerShutdownEmbeddedUI 関数をエクスポートする必要があります。 埋め込みユーザー インターフェイスをサポートしていないパッケージは、Windows インストーラーの内部ユーザー インターフェイスを使用できます。

埋め込みユーザー インターフェイスで Windows 用デバッグ ツール を実行するには、「 カスタム アクションのデバッグ」で説明されている手法を使用します。 MsiBreak の値を MsiEmbeddedUI に設定します。

埋め込みカスタム UI の例については、「 埋め込み UI の使用」を参照してください。