次の方法で共有


MsiSetExternalUIA 関数 (msi.h)

MsiSetExternalUI 関数は、外部ユーザー インターフェイス ハンドラーを有効にします。 この外部 UI ハンドラーは、通常の内部ユーザー インターフェイス ハンドラーの前に呼び出されます。 外部 UI ハンドラーには、メッセージを処理したことを示す 0 以外の値を返すことによって、内部 UI を抑制するオプションがあります。 詳細については、「ユーザー インターフェイスについて」を参照してください。

構文

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

パラメーター

[in] puiHandler

INSTALLUI_HANDLER 仕様に準拠するコールバック関数を指定します。

[in] dwMessageFilter

外部メッセージ ハンドラーを使用して処理するメッセージを指定します。 外部ハンドラーから 0 以外の結果が返された場合、そのメッセージは UI に送信されず、ログ記録が有効になっている場合はメッセージがログに記録されます。 詳細については、MsiEnableLog 関数を参照してください。

価値 意味
INSTALLLOGMODE_FILESINUSE
使用中のファイル情報。 このメッセージを受信すると、FilesInUse ダイアログ が表示されます。
INSTALLLOGMODE_FATALEXIT
インストールの途中終了。
INSTALLLOGMODE_ERROR
エラー メッセージがログに記録されます。
INSTALLLOGMODE_WARNING
警告メッセージがログに記録されます。
INSTALLLOGMODE_USER
ユーザー要求がログに記録されます。
INSTALLLOGMODE_INFO
表示されないステータス メッセージがログに記録されます。
INSTALLLOGMODE_RESOLVESOURCE
有効なソースの場所を決定する要求。
INSTALLLOGMODE_RMFILESINUSE
使用中のファイル情報。 このメッセージを受信すると、MsiRMFilesInUse ダイアログ が表示されます。
INSTALLLOGMODE_OUTOFDISKSPACE
ディスク領域が不足していました。
INSTALLLOGMODE_ACTIONSTART
新しいインストール アクションの開始がログに記録されます。
INSTALLLOGMODE_ACTIONDATA
インストール アクションを含むデータ レコードがログに記録されます。
INSTALLLOGMODE_COMMONDATA
ユーザー インターフェイス初期化のパラメーターがログに記録されます。
INSTALLLOGMODE_PROGRESS
進行状況バー 情報が表示されます。 このメッセージには、これまでのユニットとユニットの合計数に関する情報が含まれています。 メッセージ形式の詳細については、MsiProcessMessage 関数を参照してください。 このメッセージは外部ユーザー インターフェイスにのみ送信され、ログに記録されません。
INSTALLLOGMODE_INITIALIZE
これがサイレント インストールでない場合は、の基本的な UI が初期化されています。 これが 完全な UI インストールである場合、の完全な UI はまだ初期化されていません。 このメッセージは外部ユーザー インターフェイスにのみ送信され、ログに記録されません。
INSTALLLOGMODE_TERMINATE
完全な UI が使用されている場合、の完全な UI は終了しました。 これが静かなインストールでない場合、の基本的な UI はまだ終了していません。 このメッセージは外部ユーザー インターフェイスにのみ送信され、ログに記録されません。
INSTALLLOGMODE_SHOWDIALOG
完全な UI ダイアログ 表示する前に送信されます。 このメッセージは外部ユーザー インターフェイスにのみ送信され、ログに記録されません。
INSTALLLOGMODE_INSTALLSTART
製品のインストールが開始されます。

メッセージには、製品の ProductName と ProductCode が含まれています。

INSTALLLOGMODE_INSTALLEND
製品のインストールは終了します。

メッセージには、製品の ProductName、ProductCode、および戻り値が含まれています。

[in] pvContext

コールバック関数に渡されるアプリケーション コンテキストへのポインター。 このパラメーターは、エラー チェックに使用できます。

戻り値

戻り値は、以前に設定された外部ハンドラーです。以前に設定されたハンドラーがない場合は 0 です。

備考

前の UI ハンドラーを復元するために、MsiSetExternalUI の最初の呼び出しによって返された INSTALLUI_HANDLER を使用して、MsiSetExternalUI 2 回目の呼び出しが行われ、dwMessageFilter にゼロ (0) が指定されます。

puiHandler パラメーターが指す外部ユーザー インターフェイス ハンドラーは、dwUILevel パラメーターをINSTALLUILEVEL_NONEに設定して MsiSetInternalUI 呼び出されない限り、外部ユーザー インターフェイスを完全に制御できません。 MsiSetInternalUI が呼び出されない場合、内部ユーザー インターフェイス レベルは既定でINSTALLUILEVEL_BASICされます。 その結果、外部ユーザー インターフェイス ハンドラーによって処理されないメッセージは、Windows インストーラーによって処理されます。 最初の "インストールの準備中。 . " ダイアログは、外部ユーザー インターフェイス ハンドラーがすべてのメッセージを処理する場合でも常に表示されます。

MsiSetExternalUI は、Bootstrapping アプリケーションからのみ呼び出す必要があります。 カスタム アクション MsiSetExternalUI を呼び出すことはできません。

手記

msi.h ヘッダーは、MSISetExternalUI をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP 上の Windows インストーラー。 Windows インストーラーのバージョンで必要な最小 Windows Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msi.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

インターフェイスとログ関数の