Inno+Setup-使用教程 联系客服

发布时间 : 星期六 文章Inno+Setup-使用教程更新完毕开始阅读

?

{tmp}

临时目录,这个目录并不是用户的 TEMP 环境变量指向的目录,而是安装程序在启动时在用户的临时目录下建立的一个子目录(它有一个类似于“ C:\\WINDOWS\\TEMP\\IS-xxxxx.tmp”这样的名字),在安装程序退出时所有的文件和子目录将会被删除。对于在 [Run] 段里面要被执行且在安装以后又不需要的程序文件来说这个功能是非常有用的。

{fonts}

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

DAO 目录,当安装程序运行在 Windows 95/NT 4+ 上时,它被等效为 {

cf}\\Microsoft Shared\\DAO,当运行于 Windows NT 3.51 时,它被等效为 { win}\\MSAPPS\\DAO.

?

?

外壳(Shell)文件夹常量 Inno Setup 还支持另外一套目录常量,这就是涉及到的外壳(shell)文件夹常量,它们具有和其它的目录常量相同的使用方法。然而,如果在脚本的 [Setup] 段里面放入了 MinVersion=4,3.51 这一行来表示允许支持 NT 3.51,那么将只有 {group} 这个外壳文件夹常量能被使用,并签只能用在 [Icons] 段。

下面的包含了“user”的常量涉及到当前登陆的用户私人文档(profile),而带有“ common”的常量会涉及到全部用户(All Users)的私人文档(profile)。当安装程序运行在 Windows NT/2000 操作系统下并且用户不具有管理员的权限时,所有的带有“common”的常量会强迫同带有“user”的常量等效。

? 标记表示带有“common”的常量在 Windows 9x 操作系统下同带有“user”

的常量等效。 ?

?

{group}

程序组的路径,取决于用户在安装程序向导的“选择程序组”页的选择。对于 Windows NT,这个文件夹始终被建立在所有用户的私人文档(All Users profile),除非用户正在安装的这个应用程序不具有管理员的权限,那么在这种情况下它将被建立在用户的私人文档中(profile). {sendto}

当前用户的“发送”的路径。(没有公共的“发送”文件夹。) {userappdata} & {commonappdata}

应用程序数据(Application Data)文件夹的路径。 {userdesktop} & {commondesktop} *

?

?

?

桌面文件夹的路径,推荐桌面快捷方式使用 {userdesktop}.

?

{userdocs} & {commondocs}

“我的文档”文件夹的路径(或者对于 NT 4.0,是指私人文件夹).

{userfavorites} & {commonfavorites} “收藏夹”的路径,这个常量的使用方法是需要 MinVersion 的设置至少为“4.1, 4”,目前只有 Windows 2000 支持 {commonfavorites},如果使用的是在这之前的版本的 Windows,那么它将会被转换成和{userfavorites} 相同的目录。 {userprograms} & {commonprograms} * 在开始菜单里面的程序文件夹的路径。 {userstartmenu} & {commonstartmenu} * 开始菜单的定级路径。

{userstartup} & {commonstartup} * 开始菜单里面的启动文件夹的路径。

{usertemplates} & {commontemplates}

模板(Templates)文件夹的路径,目前只有 Windows 2000 支持 {

commontemplates},如果使用的是在这之前的版本的 Windows ,它将会被转换成和 {usertemplates} 相同的目录。

?

?

?

?

?

其他的常量

?

{\\}

一个反斜杠字符,请参见本页前面提到的关于常量 {\\} 和单字符 \\ 在使用上有何不同的说明。

{%NAME}

内嵌一个环境变量,这个 NAME 是要使用的环境变量的名字。如果在用户的系统当中指定的环境变量不存在,这个常量就会被一个空的字符串所替代。 {computername}

安装程序正在运行的计算机的名称(就是“GetComputerName”函数的返回值)。 {groupname}

用户在安装程序向导的选择程序组页选择的程序组的名称,这个是不同于 {group} 的,它不包括路径。

{hwnd}

(专门用途)传送安装程序背景窗口的窗口句柄。

?

?

?

?

?

{reg:HKxx\\SubkeyName,ValueName|DefaultValue} 内嵌一个注册表值。

o HKxx 指定根键(root key),参见 [Registry] 段 文档所列出的根键。 o SubkeyName 指定要读取的子键的名称。

o ValueName 指定要读取的值的名称,要读取一个键的默认值就让

ValueName 为空。

o DefaultValue 如果指定的注册表值不存在或者它不是一个字符串类型

(REG_SZ 或者 REG_EXPAND_SZ),则嵌入这个值。 o 如果你希望包括一个逗号,竖线(字符“|”)或大括号闭弧“}”在常量

里面,你必须通过“%-编码” 形式用“%”后紧跟一个两位的16进制代码转译后替换原来的字符,一个逗号是“,”,一个竖线符是“|”,一个大括号闭弧是“}”。

o DefaultValue 可以包括常量,然而,如上所诉内嵌的常量的大括号的闭

弧 (“}”) 必须被改成“}”才可以。 {srcexe}

安装程序的文件名全称(包括全程路径和文件名),例如“C:\\SETUP.EXE”。 {username}

运行安装程序的用户的名称(函数 GetUserName 的返回值)。

?

?

公共参数

有俩个可选的参数可以在所有的段里面的任何项中使用,它们是:

MinVersion

说明:

该项处理所需的分别最低的 Windows 版本和 Windows NT 版本. 如果将某个版本号指定为 0 那么在该平台上就再也不会处理这项了,版本创建编号(Build numbers)和(或)服务包级别(Service pack levels)也可以被包括在版本号当中。这个参数将会覆盖位于 [Setup] 段当中的 MinVersion 关键字。 示例:

MinVersion: 4.0,4.0

OnlyBelowVersion

说明:

基本上是和 MinVersion 相反,该项所指定的最低的 Windows 版本 和 Windows NT

版本将不会被处理,例如:如果你指定了 4.1,5.0 并且用户运行在 Windows 95 或 NT 4.0 下,那么该项将会被处理,但是如果用户运行在

Windows 98 (报告的版本信息是 4.1)或 Windows 2000 (报告的版本信息是 NT 5.0),则该项就不会被处理。使用“0”表示该版本号上限的限制。版本创建编号(Build numbers)和(或)服务包级别(Service pack levels) 也可以包括在版本号当中。这个参数将会覆盖位于 [Setup] 段当中的 OnlyBelowVersion 关键字。 示例:

OnlyBelowVersion: 4.1,5.0 其它注意事项

?

安装程序是按照段内的排列顺序来处理所有的项的,[UninstallRun] 段是个例外,卸载时处理所有项的顺序是与安装程序相反的。

在这个示例中:

[INI] Filename: \Section: \Flags: uninsdeletesectionifempty Filename: \Section: \Key: \

安装程序首先记录下第一项的数据 uninsdeletesectionifempty 标记到卸载记录中。创建第二项的键,然后记录下 uninsdeleteentry 标记的数据到卸载记录中,当程序被卸载时,卸载程序将首先处理 uninsdeleteentry 标记,删除该项,然后才是 uninsdeletesectionifempty 标记。

? 如果安装程序在用户的系统中检测到一个 Windows 共享版本,Windows 系统目

录是写保护的,{sys} 目录常量将会被转变为用户的 Windows 目录替代系统目录。 在命令行执行编译器

脚本文件也可以在命令行被安装编译器编译。命令行的使用方法如下:

compiler /cc <脚本文件> 示例:

compil16 /cc c:\\isetup\\sample16\\sample16.iss compil32 /cc \

在上面列出的例子中,带有空格的文件名必须用引号括起来。 在命令行运行安装编译器不支持正常的进程显示或任何错误消息。如果编译成功安装编译器将会返回一个退出代码 0,如果是 1 则表示有无效的命令行参数, 2 则表明编译失败。