安装所有文件后运行的代码

时间:2015-09-25 08:00:00

标签: inno-setup pascalscript

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

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

其中installDriver(platform)是我的一个dll的外部函数。

我尝试拨打DllAfterInstall部分中的[Run]功能

Filename: "{code:DllAfterInstall}"; Parameters: 0; Check: not IsWin64

我收到了错误

  

'DllAfterInstall'

的原型无效

所以有人能告诉我我做错了什么吗?或者在复制完所有文件后,是否有其他方法可以调用*.dll*.dll函数只应调用一次,因此AfterInstall不可选。

1 个答案:

答案 0 :(得分:2)

CurStepssPostInstall时,请CurStepChanged event function致电您的代码:

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

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