Inno Setup Procedure安装后不执行

时间:2015-04-21 11:47:54

标签: installation inno-setup setup-deployment

我已经在inno设置中编译了多个程序,即

  1. Sql Server
  2. .Net framework 3.5
  3. Crystal Reports
  4. Sql Script
  5. 我面临的问题是执行脚本代码的过程在安装程序之前不会执行。如果取消之前的程序则执行。

    [Files]
    
    Source: "E:\Inno Data\Inno_Setup\Prerequisites\dotnetfx35\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"; DestDir: {tmp}; AfterInstall: InstallFramework
    Source: "E:\Inno_Setup\Prerequisites\CrystalReports105\CRRuntime_64bit_13_0_5.msi"; DestDir: {tmp}; AfterInstall: InstallCrystalReports
    
    Source: "E:\Prerequisites\SQLServer2008R2SP2\SQLEXPRWT_x64_ENU.exe"; DestDir: {tmp}
    
    ;SQL Script Files
    Source: "E:\SQLInstallTEST\Scripts\RCabSoft.sql"; DestDir:"{app}\Scripts"
    
    [Run]
    
    Filename: "{tmp}\SQLEXPRWT_x64_ENU.exe"; Parameters: "/ACTION=Install /INSTANCENAME=MSSQLSERVER /QS /HIDECONSOLE /INDICATEPROGRESS=""False"" /IAcceptSQLServerLicenseTerms /SQLSVCACCOUNT=""NT AUTHORITY\SYSTEM"" /SQLSYSADMINACCOUNTS=""builtin\users"" /SKIPRULES=""RebootRequiredCheck"" "; Check: isWin64(); 
    Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\CRRuntime_64bit_13_0_5.msi"" /qb"; WorkingDir: {tmp}; 
    Filename: "{tmp}\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"; parameters: "/SILENT /NOCANCEL"; AfterInstall: sqlscript;
    
    [Code]
    
    procedure sqlscript;
    var
      ResultCode: Integer;
      OutputText: String;
    begin
    
          if FileExists(ExpandConstant('{pf32}\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\SSMS.exe')) then
          begin        
            ExtractTemporaryFile('RCabSoft.sql');        
    
            // Execute SQL Update Scripts        
              Exec('SqlCmd.exe', ' -e -E -S .' + ExpandConstant(' -i "{tmp}\RCabSoft.sql"'), '', SW_SHOW, ewWaitUntilTerminated, ResultCode);         
          end;                                                      
    end;
    

0 个答案:

没有答案