使用 Inno Setup 安装所有文件后运行的代码

Nit*_*.de 4 inno-setup pascalscript

我得到了以下小函数,在[Files]复制该部分的所有文件后需要调用它

procedure DllAfterInstall(platform: Integer);
begin
    if not installDriver(platform) then
                MsgBox(ExpandConstant('{cm:installDriverFail}'), mbError, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)

installDriver(platform)我的 dll 之一的外部函数在哪里。

一旦我尝试调用DllAfterInstall[Run]部分中的函数,例如

Filename: "{code:DllAfterInstall}"; Parameters: 0; Check: not IsWin64
Run Code Online (Sandbox Code Playgroud)

我收到错误

“DllAfterInstall”的原型无效

那么谁能告诉我我做错了什么?或者也许有另一种方法可以*.dll在复制所有文件后调用 a ?该*.dll函数只能被调用一次,所以AfterInstall没有选择。

Mar*_*ryl 7

当以下情况时从CurStepChanged事件函数调用您的代码:CurStepssPostInstall

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
  begin
    Log('Post install');
    DllAfterInstall(platform);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

您还需要为platform函数的参数提供实际值。