Inno Setup: Install other installer and run it before continuing my install

后端 未结 3 810
盖世英雄少女心
盖世英雄少女心 2020-12-08 05:21

This is the [Files] portion of my code so far:

[Files]
Source: \"other_installer.exe\"; DestDir: \"{app}\"
Source: \"myprogram.exe\"; DestDir: \"{app}\"
Sour         


        
3条回答
  •  我在风中等你
    2020-12-08 05:52

    Better for the way you go might be the AfterInstall parameter. The following script will execute the RunOtherInstaller function right after the OtherInstaller.exe file entry is processed. There it tries to execute the just installed OtherInstaller.exe file and if that fails, it reports an error message to the user. Please note that you cannot interrupt the installation from that function, so it's not much safe to do what you want this way:

    [Setup]
    AppName=My Program
    AppVersion=1.5
    DefaultDirName={pf}\My Program
    
    [Files]
    Source: "OtherInstaller.exe"; DestDir: "{app}"; AfterInstall: RunOtherInstaller
    Source: "OtherFile.dll"; DestDir: "{app}"
    
    [Code]
    procedure RunOtherInstaller;
    var
      ResultCode: Integer;
    begin
      if not Exec(ExpandConstant('{app}\OtherInstaller.exe'), '', '', SW_SHOWNORMAL,
        ewWaitUntilTerminated, ResultCode)
      then
        MsgBox('Other installer failed to run!' + #13#10 +
          SysErrorMessage(ResultCode), mbError, MB_OK);
    end;
    

提交回复
热议问题