カスタム アクションからエラー メッセージを返す
このセクションでは、ダイナミック リンク ライブラリまたはスクリプトを呼び出して、インストールの一部を実際に実行するカスタム アクションでメッセージを送信する方法について説明します。 カスタム アクション タイプ 19 は、指定されたエラー メッセージを表示し、エラーを返し、インストールを終了するのみです。 カスタム アクション タイプ 19 では、インストールの一部は実行されません。
ダイナミック リンク ライブラリ (DLL) を使用するカスタム アクションからエラー メッセージを送信するには、カスタム アクションで MsiProcessMessage を呼び出します。 DoAction ControlEvent によってで起動したカスタム アクションでは Message メソッドでメッセージを送信できますが、MsiProcessMessage ではメッセージを送信できないことにご留意ください。 Windows Server 2003 より前のシステムでは、DoAction ControlEvent で起動したカスタム アクションは、MsiProcessMessage メソッドまたは Message メソッドでメッセージを送信することができません。 詳細については、「MsiProcessMessage を使用して Windows インストーラーにメッセージを送信する」を参照してください。
DLL を使用してカスタム アクション内からエラー メッセージを表示する
- カスタム アクションは MsiProcessMessage を呼び出し、パラメーター hInstall、eMessageType、および hRecord を渡す必要があります。 インストールのハンドルであるカスタム アクション タイプ 19 は、「カスタム アクション内からの現在のインストーラー セッションへのアクセス」で説明されている方法、または MsiOpenProduct または MsiOpenPackage からカスタム アクションに提供できます。
- パラメーター eMessageType には、MsiProcessMessage に記載されているメッセージの種類のいずれかを指定する必要があります。
- MsiProcessMessage 関数の hRecord パラメーターは、メッセージの種類によって異なります。 詳細については、「MsiProcessMessage を使用した Windows インストーラーへのメッセージの送信」を参照してください。 メッセージに書式設定されたデータが含まれている場合は、「Formatted」で説明されている書式設定を使用して、Error テーブルにメッセージを入力します。
スクリプトを使用するカスタム アクションからエラー メッセージを送信するには、カスタム アクションで Session オブジェクトの Message メソッドを呼び出します。
スクリプトを使用してカスタム アクション内からエラー メッセージを表示する
- カスタム アクションでは、Session オブジェクトの Message メソッドを呼び出し、パラメーター kind と record を渡す必要があります。
- パラメーター kind には、Message メソッドに記載されているメッセージの種類のいずれかを指定する必要があります。
- Message メソッドの record パラメーターは、メッセージの種類によって異なります。 メッセージに書式設定されたデータが含まれている場合は、「Formatted」で説明されている書式設定を使用して、Error テーブルにメッセージを入力します。
インストールへのハンドルを取得できないため、実行可能ファイルを使用するカスタム アクションでは、MsiProcessMessage または Message メソッドを呼び出してメッセージを送信することはできません。
関連トピック