作者:敖士伟 Email:ikmb@163.com
一、环境检测
可以使用pascal脚本在InitializeSetup事件中在安装前进行检测。检测中可以使用RegKeyExists等函数注册表项是否存在。
二、文件复制
[Files]段就可以解决。在Source和DestDir中不用担心路径空格问题。其中,创建文件夹并复制如下,主要注意Flags参数:
;创建tools目录并复制
Source: "tools/*"; DestDir: "{app}/tools";Flags: recursesubdirs createallsubdirs
三、文件夹创建
[Dirs]
四、安装过程中调用函数
1、使用Inno Setup支持的事件,包括用户自定义的事件;
2、使用check,如:
[Run]
;修改配置文件,由于ConfigApache函数始终返回False,使用该条目操作不会执行
Filename: "cmd.exe"; Description: "配置";Check: ConfigApache
五、创建快捷方式
[Icons]
;创建开始菜单项
Name: "{group}/{#MyAppName}"; Filename: "{app}/ChromeGreen30/{#MyAppExeName}";Parameters: " --start-maximized --
app=http://localhost/app"
;创建桌面快捷方式
Name: "{commondesktop}/{#MyAppName}"; Filename: "{app}/ChromeGreen30/{#MyAppExeName}";Parameters: " --start-
maximized --app=http://localhost/app"; Tasks: desktopicon
要注意的是路径中的空格。程序路径用Name和Filename设定好,这样会自动在程序路径两边加上引号",参数用Parameters指定,这
样就会形成如:"E:/Program Files/1.exe" -x 的调用,使程序正确执行。同理,在[RUN]的程序调用一样,用Parameters指定参数
,路径不用担心空格。
六、安装完和运行
[Run]
Filename: "{app}/ChromeGreen30/{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}";Parameters: " --
start-maximized --app=http://localhost/app"; Flags: nowait postinstall skipifsilent