1

INNO SETUP 学习心得

1.脚本结构


1.[Setup] 段
  
  这个段包括了安装和卸载程序所使用的全局设置,并且有些关键字在你建立的安装程序中是必须要用到的。
  
2.[Dirs] 段
  
  这个段是可选的,而且通常对于大多数简单的应用程序来书不是必需的。这个段是用来创建除用户选择的应用程序目录以外的其它的附加的目录,它是被自动创建的。这个段所创建的子目录是可以脱离主应用程序而共同使用的目录。当然在 [Files] 段里面的文件被复制到某个目录之前你并不一定要创建它,然而在卸载程序的时候在 [Dirs] 和 [UninstallDelete] 段里面没有指定的目录就不会被删除。
  
3.[Files] 段
  
  这个段是可选的,但对于大多数安装程序来说是必不可少的。在这里定义了安装程序需要复制到用户的系统当中的全部文件。
  
  在安装期间,卸载程序和数据被自动的复制到应用程序的目录当中去,因此你不必手工的将它们添加到 [Files] 段。
  
4.[Icons] 段
  
  这个段是可选的,但对于大多数安装程序来说是必不可少的。它定义了所有的安装程序要在用户系统中创建的程序管理器/开始菜单的图标。它也能被用来在其它的位置创建应用程序图标(快捷方式),比如就像桌面。
  
  卸载图标是由安装程序内部创建的,这样一来你就不需要在 [Icons] 段里面手工的添加它。默认情况下,安装程序运行在 Windows 95/NT 4+ 的时候是不创建卸载图标的 ――除了安装程序运行于 Windows NT 3.51 的时候。 要强制创建一个卸载图标,请使用 [Setup] 段里面的 AlwaysCreateUninstallIcon 关键字。
  
5 [INI] 段
  
  此段是可选的,它定义了一些 .INI 文件项,在文件被复制以后安装程序在用户的系统中的设定。
  
6.[InstallDelete] 段
  
  它使用的是和 [UninstallDelete] 段相同的格式,不同的是它是在安装程序的第一步被处理的。
  
7.[Messages] 段
  
  [Messages] 段是用于定义安装程序和卸载程序所显示的消息。通常你不需要在你的脚本文件里面创建 [Messages] 段,默认情况下所有的显示消息都由 Inno Setup 包含的文件 Default.isl 定义。 (或由 [Setup] 段的关键字 MessagesFile 指定的任何文件)。
  
8.[Registry] 段
  
  这个段是可选的,他定义了一些注册表项,用于在复制完文件之后创建在用户的系统中。
  
9.[Run] %26amp; [UninstallRun] 段
  
  [Run] 段是可选的,指定任意数量的程序在成功安装程序以后及显示结束对话框之前被执行。同样 [UninstallRun] 段也是可选的,指定任意数量的程序在%26ldquo;卸载程序%26rdquo;的第一步时被执行。除非下面有其它说明,两个段共有相同的语法。
  每个程序按照你的脚本编排的顺序被执行,当出路 [Run]/[UninstallRun] 的项时,安装程序将会等到当前的程序终止之后才处理下一个,当然除非使用了 nowait 标记。
  

  1. [UninstallDelete] 段
      

  该段是可选的。该段是用来定义一些附加的除了那些被安装的应用程序之外的要被卸载程序删除的文件或目录。使用该段来删除由你的应用程序创建的 .INI 文件是一个常用的办法。卸载程序在卸载过程的最后一步处理这些项。

 

2.目录常量


  

{app}

  应用程序目录,这是用户在安装向导的选择安装目录页里面所选择的。
  例如:如果你使用了 {app}MYPROG.EXE 作为一项并且用户选择了“C:MYPROG”作为应用程序的目录,那么安装程序就会将它转换成“C:MYPROGMYPROG.EXE”。

{win}

  系统的 Windows 目录。例如:如果你使用了 {win}MYPROG.INI 作为一项并且系统的 Windows 目录是“C:WINDOWS”,那么安装程序就会将它转换成“C:WINDOWSMYPROG.INI”。

{sys}

  系统的 Windows 系统(System)目录(在 Windows NT/2000 下是 System32)。例如:如果你使用了 {sys} CTL3D32.DLL 作为一项并且系统的 Windows 系统目录是“C:WINDOWSSYSTEM”,那么安装程序就会将它转换成“C: WINDOWSSYSTEMCTL3D32.DLL”。

{src}

  这个文件夹指向安装程序所在的位置。
  例如:如果你使用了 {src}MYPROG.EXE 作为一项并且用户是从“S: ”安装的,那么安装程序就会将它转换成“S:MYPROG.EXE”。

{sd}

  系统驱动器,它是指 Windows 被安装到的那个驱动器,典型的是“C:”,对于 Windows NT/2000,这个常量同系统的环境变量“SystemDrive”是等效的。

{pf}

  程序文件夹(Program Files),这个路径是系统的 Program Files 目录,典型的是“C:Program Files”。

{cf}

  公共文件夹(Common Files),这个路径是系统的 Common Files 文件夹,典型的是“C:Program FilesCommon Files”。

{tmp}

  临时目录,这个目录并不是用户的 TEMP 环境变量指向的目录,而是安装程序在启动时在用户的临时目录下建立的一个子目录,在安装程序退出时所有的文件和子目录将会被删除。对于在 [Run] 段里面要被执行且在安装以后又不需要的程序文件来说这个功能是非常有用的。

{fonts}

  字体目录,在 Windows 95/NT 4+ 下有一个专门为字体设立的目录(通常这个目录在 Windows 目录下且被命名为“FONTS”),这个常量就指向这个目录。对于 Windows NT 3.51,这个常量是和 {sys} 等效的,因为当时还没有字体目录。

{dao}

DAO 目录,当安装程序运行在 Windows 95/NT 4+ 上时,它被等效为 {cf}Microsoft SharedDAO,当运行于 Windows NT 3.51 时,它被等效为 {win}MSAPPSDAO。


penguinSeven
62 声望3 粉丝