,只要你想(Windows安装程序安装程序是可执行文件)[Run]
下InnoSetup脚本文件通过InnoSetup创建您的安装文件时,您可以运行尽可能多的可执行文件。但是,您应该使用Check:
来检查每个安装程序是否已安装。
实例安装Java高级图像(JAI)运行时和Visual C++ 2010再发行组件包目标系统(86)用注册表检查:
[Files]
Source: "install\README.txt"; DestDir: "{app}" Flags: ignoreversion
Source: "install\vcredist_x86.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs
Source: "install\jai-1_1_3-lib-windows-i586-jre.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs
[Icons]
Name: "{group}\{cm:UninstallProgram, {#MyTitleName}}"; Filename: "{uninstallexe}"; Comment: "Uninstalls {#MyTitleName}"
[Run]
Filename: "{app}\vcredist_x86.exe"; StatusMsg: {cm:RunVCRedist2010x86}; Flags: runhidden shellexec waituntilterminated; Check: IsNotVCRedist2010x86Installed
Filename: "{app}\jai-1_1_3-lib-windows-i586-jre.exe"; StatusMsg: {cm:RunJAIByDefault}; Flags: runhidden shellexec waituntilterminated; Check: IsNotJAIInstalled
[Code]
function IsNotJAIInstalled: Boolean;
begin
Result := not RegKeyExists(HKLM, 'SOFTWARE\SUNW\Java Advanced Imaging');
end;
function IsNotVCRedist2010x86Installed: Boolean;
var
Installed: Cardinal;
begin
Result := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86',
'Installed', Installed) and (Installed <> 1);
end;
注: 如果您在[Files]
安装程序位于在InnoSetup项目的“install”文件夹中,它们在Innosetup过程中被压缩以生成InnoSetup安装程序可执行文件。当您运行创建的安装,它会解压缩安装程序在你的定义{app}
文件夹,它会执行[Run]
*“我希望用户有一个简单的.exe文件”*这对Mac或基于nix的机器的最终用户没有用处。 –
嗨,安德鲁... Java Web Start? :) –
是的,应用程序有一个GUI,它并不需要JDK来运行或工作,但我只想测试一下 – user1051052