Inno Setup打包带有MSI文件的程序

Posted jiaojiawang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Inno Setup打包带有MSI文件的程序相关的知识,希望对你有一定的参考价值。

 1 [Files]
 2 Source: "C:Documents and SettingsAdministrator桌面4abc.exe"; DestDir: "{app}"; Flags: ignoreversion
 3 Source: "C:Documents and SettingsAdministrator桌面4vccrt8_Win32.msi"; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: MyAfterInstall
 4 ; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
 5 
 6 [Icons]
 7 Name: "{commonprograms}{#MyAppName}"; Filename: "{app}{#MyAppExeName}"
 8 Name: "{commondesktop}{#MyAppName}"; Filename: "{app}{#MyAppExeName}"; Tasks: desktopicon
 9 
10 [Run]
11 ;Filename: "msiexec.exe"; Parameters: "/i ""{app}vccrt8_Win32.msi"" /quiet";Description:"安装动态库"; StatusMsg:"正在安装必须的文件"
12 Filename: "{app}{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, ‘&‘, ‘&&‘)}}"; Flags: nowait postinstall skipifsilent
13 
14 [CODE]
15 procedure MyAfterInstall;
16 var
17   RetCode: integer;
18 begin
19   ShellExec(open, ExpandConstant({app}vccrt8_Win32.msi), ‘‘, ‘‘, SW_SHOWNORMAL, ewWaitUntilTerminated, RetCode);
20   if RetCode <> 0 then
21     MsgBox(SysErrorMessage(RetCode), mbInformation, MB_OK);
22 end;

不知道为什么Exec不成功,必须用ShellExec才可以。

另外,在[Run]下注释的方法也是可行的,但

以上是关于Inno Setup打包带有MSI文件的程序的主要内容,如果未能解决你的问题,请参考以下文章

Inno SetupCreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)(转)

Inno Setup CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)

inno setup打包的安装文件更换位置后图标改变了

inno setup打包成安装文件

Inno Setup Compiler打包需要管理员权限的程序

inno setup 打包使用超级管理员权限