我想在Inno Setup中开始安装之前执行可执行文件(npp.exe
)。但我无法捕获npp.exe
可执行文件的 nextButton 事件。有什么办法吗?我尝试使用以下代码:
function initializeSetup(): boolean;
var
ResultCode: integer;
path: string;
begin
if Exec(('C:UsersPaxcelDownloadsnpp.exe'), '', '', SW_SHOW,
ewWaitUntilTerminated, ResultCode) then
begin
//result code = 0 for successful installation
if (ResultCode = 0)then
begin
Result := True;
end
else
begin
Result := False;
end;
// handle success if necessary; ResultCode contains the exit code
end
else begin
MsgBox(SysErrorMessage(ResultCode),mbError,MB_OK);
Result := False;// handle failure if necessary; ResultCode contains the error code
end;
end;
在此代码中,我想捕获记事本++设置的下一个按钮。无法使用NextButtonClick
等默认函数。
记事本++使用NSIS安装程序。
如果要以静默方式运行(任何)NSIS 安装程序,请使用/S
命令行开关。
请参阅 NSIS 安装程序用法。
顺便说一句,我假设路径C:UsersPaxcelDownloads
仅用于测试。在实际安装程序中,您必须将依赖项嵌入到安装程序中,并将其解压缩到临时目录以执行它。
Inno Setup可以为您完成这一切,您通常不需要使用Pascal脚本自己编写代码。
[Run]
Source: "pathnpp.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Run]
Filename: "{tmp}npp.exe"; Parameters: "/S"