Session.Message メソッド
Session オブジェクトの Message メソッドは、有効なログ記録操作を実行し、エンジンに関連付けられている UI ハンドラー オブジェクトへの実行を延期します。 ログ記録は、さまざまなメッセージの種類に対して選択的に有効にすることができます。 EnableLog メソッドを参照してください。
レコード フィールド 0 に書式設定文字列が含まれる場合、他のフィールドのデータの書式設定に使用されます。 それ以外で、メッセージがエラー、警告、またはユーザー メッセージの場合は、メッセージの種類と戻り値のレコードのフィールド 1 にあるエラー番号を使用して、現在のデータベースのエラー テーブルでメッセージ テンプレートを検索しようとします。
構文
Session.Message(
kind,
record
)
パラメーター
-
kind
-
kind パラメーターは、次のいずれかの値である必要があります。 プッシュ ボタンとアイコンを含むメッセージ ボックスを表示するには、MessageBox と MessageBoxEx で使用する標準のメッセージ ボックス スタイルを msiMessageTypeError、msiMessageTypeWarning、または msiMessageTypeUser に追加して、kind の値を計算します。 詳細については、下記の「解説」を参照してください。
定数 説明 - msiMessageTypeFatalExit
- &H00000000
途中終了。致命的なメモリ不足の可能性があります。 - msiMessageTypeError
- &H01000000
書式設定されたエラー メッセージ [1] は、エラー テーブルのメッセージ番号です。 - msiMessageTypeWarning
- &H02000000
書式設定された警告メッセージ [1] は、エラー テーブルのメッセージ番号です。 - msiMessageTypeUser
- &H03000000
ユーザー要求メッセージ [1] は、エラー テーブルのメッセージ番号です。 - msiMessageTypeInfo
- &H04000000
ログの情報メッセージ。表示されない。 - msiMessageTypeFilesInUse
- &H05000000
置き換えが必要な使用中のファイルのリスト。 - msiMessageTypeResolveSource
- &H06000000
有効なソースの場所を決定するための要求。 - msiMessageTypeOutOfDiskSpace
- &H07000000
ディスク領域の不足メッセージ。 - msiMessageTypeActionStart
- &H08000000
アクションの開始、[1] アクション名、[2] 説明、[3] ACTIONDATA メッセージのテンプレート。 - msiMessageTypeActionData
- &H09000000
アクション データ。 レコード フィールドは、ACTIONSTART メッセージのテンプレートに対応します。 - msiMessageTypeProgress
- &H0A000000
進行状況バーの情報。 下記のレコード フィールドの説明を参照してください。 - msiMessageTypeCommonData
- &H0B000000
[キャンセル] ボタンを有効にするには、[1] を 2 に、[2] を 1 に設定します。
[キャンセル] ボタンを無効にするには、[1] を 2 に、[2] を 0 に設定します -
record
-
メッセージ固有のフィールドを含む必須の Record オブジェクト。
戻り値
定数 | 値 |
---|---|
|
-1 |
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
解説
メッセージ レコード フィールド
msiMessageTypeProgress をメッセージ型として渡す場合のレコード フィールド定義を次に示します。
フィールド 1 は、進行状況メッセージの種類を指定します。 他のフィールドの意味は、このフィールドの値によって異なります。 フィールド 1 に設定できる値は次のとおりです。
メッセージ名 | 値 | フィールド 1 の説明 |
---|---|---|
MasterReset | 0 | 進行状況バーをリセットし、バーのティックの予想合計数を設定します。 |
ActionInfo | 1 | 現在のアクションによって送信される進行状況メッセージに関連する情報を提供します。 |
ProgressReport | 2 | 進行状況バーを進めます。 |
ProgressAddition | 3 | アクション (CustomAction など) で、進行状況バーの進行状況の予想合計数にティックを追加できるようにします。 |
フィールド 2 の意味は、次のようにフィールド 1 の値によって異なります。
フィールド 1 の値 | フィールド 2 の説明 |
---|---|
0 | 進行状況バーのティックの予想合計数。 |
1 | ActionData メッセージごとに進行状況バーが動かすティックの数。 フィールド 3 が 0 の場合、このフィールドは無視されます。 |
2 | 進行状況バーが動かしたティックの数。 |
3 | 予想進行状況の合計に追加するティックの数。 |
フィールド 3 の意味は、次のようにフィールド 1 の値によって異なります。
フィールド 1 の値 | フィールド 3 の値 | フィールド 3 の説明 |
---|---|---|
0 | 0 | 正方向の進行状況バー (左から右へ) |
1 | 逆方向の進行状況バー (右から左へ) | |
1 | 0 | 現在のアクションが、明確な ProgressReport メッセージを送信します。 |
1 | ActionData メッセージが送信されるたびに、フィールド 2 で指定したティック数だけ進行状況バーを進めます。 | |
2 | 未使用 | |
3 | 未使用 |
フィールド 4 の意味は、次のようにフィールド 1 の値によって異なります。
フィールド 1 の値 | フィールド 4 の値 | フィールド 4 の説明 |
---|---|---|
0 | 0 | 実行が進行中です。 この場合、UI は残り時間を計算して表示できます。 |
1 | 実行スクリプトの作成。 この場合、UI はインストーラーがインストールの準備を完了するまでお待ちくださいというメッセージを表示できます。 | |
1 | 未使用 | |
2 | 未使用 | |
3 | 未使用 |
メッセージ ボックスの表示
プッシュ ボタンとアイコンを含むメッセージ ボックスを表示するには、MessageBox と MessageBoxEx で使用する標準のメッセージ ボックス スタイルを msiMessageTypeError、msiMessageTypeWarning、または msiTypeUser に追加して、kind の値を計算します。 VBScript で使用できるプッシュ ボタン オプションは、vbOKOnly (MB_OK)、vbOKCancel (MB_OKCANCEL)、vbAbortRetryIgnore (MB_ABORTRETRYIGNORE)、vbYesNoCancel (MB_YESNOCANCEL)、vbYesNo (MB_YESNO)、vbRetryCancel (MB_RETRYCANCEL) です。 VBScript で使用できるアイコン オプションは、vbCritical (MB_ICONERROR)、vbQuestion (MB_ICONQUESTION)、vbExclamation (MB_ICONWARNING)、vbInformation (MB_ICONINFORMATION) です。
たとえば、次のように呼び出すと、vbExclamation アイコンと vbYesNo ボタンを含む msiMessageTypeError メッセージが送信されます。
Session.Message &H01000034, record
カスタム アクションが Message メソッドを呼び出す場合、カスタム アクションはユーザーによるキャンセルを処理できる必要があり、msiDoActionStatusUserExit を返す必要があります。
必要条件
要件 | 値 |
---|---|
バージョン |
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 インストーラー |
[DLL] |
|
IID |
IID_ISession が 000C109E-0000-0000-C000-000000000046 として定義されている |