JScriptと VBScript カスタム アクションの戻り値
JScriptまたはVisual Basicで記述されたカスタム アクションでは、Scripting Edition (VBScript) で省略可能な関数を呼び出すことができます。 これらの関数は、次の表に示す値のいずれかを返す必要があります。
戻り値 | 値 | 説明 |
---|---|---|
msiDoActionStatusNoAction | 0 | アクションは実行されません。 |
msiDoActionStatusSuccess | IDOK = 1 | アクションは正常に完了しました。 |
msiDoActionStatusUserExit | IDCANCEL = 2 | ユーザーによる早期終了。 |
msiDoActionStatusFailure | IDABORT = 3 | 回復不可能なエラー。 JScriptまたは VBScript の解析中または実行中にエラーが発生した場合に返されます。 |
msiDoActionStatusSuspend | IDRETRY = 4 | 中断されたシーケンスは、後で再開されます。 |
msiDoActionStatusFinished | IDIGNORE = 5 | 残りのアクションをスキップします。 エラーではありません。 |
Windowsインストーラーは、戻り値をログ ファイルに書き込むときに、すべてのアクションから戻り値を変換します。 たとえば、アクションの戻り値がログ ファイルに 1 (1) と表示される場合、これはアクションが msiDoActionStatusSuccess を返したことを意味します。 この変換の詳細については、「 アクションの戻り値のログ記録」を参照してください。
スクリプト カスタム アクションから成功以外の値を返すには、カスタム アクションに関数ターゲットを使用する必要があります。 ターゲット関数は、 CustomAction テーブルの [ターゲット] 列で指定します。
次のスクリプト例は、VBScript カスタム アクションから成功または失敗を返す方法を示しています。
Function MyVBScriptCA()
If Session.Property("CustomErrorStatus") <> "0" Then
'return error
MyVBScriptCA = 3
Exit Function
End If
' return success
MyVBScriptCA = 1
Exit Function
End Function
この VBScript がインストール パッケージの バイナリ テーブル に MyCA.vbs として埋め込まれている場合、スクリプトの CustomAction Table エントリは次のようになります。
アクション | Type | source | 移行先 |
---|---|---|---|
MyCustomAction | 6 | MyCA.vbs | MyVBScriptCA |