自定义操作配置如下:
自定义操作名称:MyCustomAction
VBScript文件名:
>\MyFolder\MyVBSfile.vbs ScriptFunction:MyFunction
返回处理:同步(检查退出代码)
脚本执行:立即执行
它通过以下InstallScript代码执行:
result = MsiDoAction(ISMSI_HANDLE,"MyCustomAction");
当安装程序在InstallScript中到达该行时,安装程序会显示错误警告,说明:
"错误1720.此Windows Installer程序包存在问题.无法运行此安装所需的脚本.请与您的支持人员或程序包供应商联系."
MsiDoAction返回的结果代码是'1603',根据winerror.h,它是:
// // MessageId: ERROR_INSTALL_FAILURE // // MessageText: // // Fatal error during installation. // #define ERROR_INSTALL_FAILURE 1603L
为什么会这样?我开始怀疑文件是否正确包含在内.然而,我指向正确的文件,我已经尝试通过InstallShield支持文件包含VBS,认为这将确保文件与设置一起出现,但结果相同.
启用日志记录运行安装程序会显示问题:
行动13:29:19:MyCustomAction.
行动开始13:29:19:MyCustomAction.错误1720.此Windows Installer程序包存在问题.无法运行此安装所需的脚本.请联系您的支持人员或包装供应商.自定义操作MyCustomAction脚本错误-2146827278,Microsoft VBScript编译错误:预期标识符行163,列37,
blnExample,)
要在启用日志记录的情况下运行设置
"C:\ SetupFolder\setup.exe"/ V"/ l*v c:\ Install.log"
这个论坛帖子很有帮助.