返回 JScript 和 VBScript 自定义作的值
用 JScript 或 Visual Basic 编写的自定义作(VBScript)可以调用可选函数。 这些函数必须返回下表中显示的值之一。
返回值 | 价值 | 描述 |
---|---|---|
msiDoActionStatusNoAction | 0 | 未执行作。 |
msiDoActionStatusSuccess | IDOK = 1 | 作已成功完成。 |
msiDoActionStatusUserExit | IDCANCEL = 2 | 用户过早终止。 |
msiDoActionStatusFailure | IDABORT = 3 | 无法恢复的错误。 如果在分析或执行 JScript 或 VBScript 期间出错,则返回。 |
msiDoActionStatusSuspend | IDRETRY = 4 | 要稍后恢复的挂起序列。 |
msiDoActionStatusFinished | IDIGNORE = 5 | 跳过剩余作。 不是错误。 |
请注意,当 Windows Installer 将返回值写入日志文件时,会转换所有作中的返回值。 例如,如果作返回值在日志文件中显示为 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 表 条目如下:
行动 | 类型 | 源 | 目标 |
---|---|---|---|
MyCustomAction | 6 | MyCA.vbs | MyVBScriptCA |