新建一个iss脚本文件,保存到一个目录下(同时把你的待打包的程序文件也放在这个目录下),就可以开始写脚本了,inno setup的脚本类似于windows ini文件格式,整个分成多个节,每个节下面有一些设置选项。比如Setup节下面决定的是整个安装程序的一些环境变量值。
Files节设置的是待拷贝的文件列表。
Icons设置的是应用程序组,桌面快捷方式,快速启动栏快捷方式等等。
Run设置的是安装程序执行完毕后启动的程序。
这些都是最基本的节,还有非常多的更高级的节可以使用。完了之后就是编译,得到你的安装程序。
安装好Inno Setup Compiler汉化版启动软件后的界面(见图1):
图1
下面我以制作ePSXe1.50汉化版安装程序为例简介制作过程,先将要打包的全部文件放到一个空文件夹里待用.(我的放在: D:/pp-work)
选择创建新的空白脚本文件,按确定:(见图2)
图2
按下一步:(见图3)
图3
在相应的项目里填上该填的东东,(图里我已填好),按下一步:(图4)
图4
不难,同样是在相应的项目填上该填的J,在应用程序基本目的目录的下拉选项里还有一个自定义,也就是自定义安装路径.而像我那样选就是将文件安装到: C:/Program Files/ePSXe里,其他的就相应的填.然后当然是下一步了:(图5)
图5
这一步要注意,在图中的1处填上主程序文件(建议用浏览的方法),然后按添加文件,添加要安装在C:/Program Files/ePSXe里的文件.再按添加目录,(只能一个个添加,要是子目录多就烦了).把要安装的目录全部添加完后,记住一定要编辑所添加的目录,要不全部文件都会安装在C:/Program Files/ePSXe里!步骤是:在2里选添加的目录后按编辑(见图6)
图6
在1处填上子止录的名称,在2里还有其它选择,可以将其它的一些文件安装在WINDOWS,SYSTEM等其它目录里(见图7)
图7
其它的目录同样方法设置好,接着当然是下一步:(见图8)
图8
这里也是相应的填好,就NEXT:(见图9)
图9
一眼明了,不用我讲,填好就NEXT,然后按完成,程式问你是否对脚本进行编译,要你觉得可以了,那就让它编译,就会生成一个SETUP.EXE文件,大功就告成了!若你想修改修改那就按否,可以对脚本进行修改(比如在注册表加信息,在程序组加一个选项等等),当然就要知道它的语法了!一听到语法也许你就怕,其实它的语法是不难的,在帮助里一下就能看明白.只要你学过一点点编程.再说,大部分的东东已自动生成了.正好,我这个例子要在程序组里加一个英文版的快捷方式,且要修改快捷方式的工作目录!要不然,程序在用快捷方式启动后工作不了!(因为此程序要在快捷方式的工作目录里找其它文件!建议制作安装程序都修改工作目录,以免不正常)
好了,生成的脚本格式在程序里是这样的:(见图10)
图10
可以直接在里面修改,你会看到语法是加亮的J好用吧!好了我们要修改的如下:
修改前:
...
[Icons]
Name: "{group}/ePSXe 1.50 汉化版"; Filename: "{app}/p-epsxe.exe"
Name: "{userdesktop}/ePSXe 1.50 汉化版"; Filename: "{app}/p-epsxe.exe"; MinVersion: 4,4; Tasks: desktopicon
...
修改后:
...
[Icons]
Name: "{group}/ePSXe 1.50 汉化版"; Filename: "{app}/p-epsxe.exe"; WorkingDir: "{app}"
Name: "{group}/ePSXe 1.50 英文版"; Filename: "{app}/epsxe.exe"; WorkingDir: "{app}"
Name: "{userdesktop}/ePSXe 1.50 汉化版"; Filename: "{app}/p-epsxe.exe"; MinVersion: 4,4; Tasks: desktopicon; WorkingDir: "{app}"
...
完成了!编译好就完成了安装程序的制作了!
至於语法,可在帮助的Inno Setup资料里找到,它说得很详尽,要加东东只要依样画葫芦.如要在注册表加信息:
...
[Registry]
Root: HKCU; Subkey: "Software/My Company"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software/My Company/My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software/My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software/My Company/My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software/My Company/My Program"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"