InstallShield 2021:InstallScript定义字符串遇C8025错误如何解决?
InstallScript 字符串变量定义报错C8025的解决方法
错误原因
你的代码违反了InstallScript的语法规则:
- InstallScript要求变量声明必须放在函数的
begin语句块之前,不能写在begin内部 - 字符串类型的正确写法是全大写的
STRING,而非首字母大写的String
修正后的代码
export prototype CmdExecute(HWND); function CmdExecute(hMSI) STRING returnCodeStr; // 变量声明移到begin之前,使用全大写STRING类型 begin LAAW_SHELLEXECUTEVERB = "runas"; // 后续可正常使用returnCodeStr变量 end;
补充说明
如果要获取LaunchApplication的执行错误码,更常用的是用INT类型变量接收返回值(该函数返回整数错误码),示例:
export prototype CmdExecute(HWND); function CmdExecute(hMSI) INT returnCode; begin LAAW_SHELLEXECUTEVERB = "runas"; returnCode = LaunchApplication("your.exe", "", "", SW_SHOWNORMAL, LAAW_OPTION_WAIT); // 根据returnCode判断执行结果,例如0通常代表执行成功 end;
内容的提问来源于stack exchange,提问作者Michele
相关产品推荐
相关产品推荐

