现在的位置: 首页 > 综合 > 正文

Inno Setup使用教程(3)

2013年10月25日 ⁄ 综合 ⁄ 共 8917字 ⁄ 字号 评论关闭

[Setup]: CreateAppDir
有效值: yes 或 no
默认值: yes

说明:
如果该值设置位 no, 将不会创建应用程序的目录,也不会显示“选择目的文件夹”向导页,并且 {app} 目录常量会等效为 {win} 目录常量。当 CreateAppDir 是 no 时如果卸载功能是允许的,卸载数据文件将会被创建于系统的 Windows 目录。

[Setup]: CreateUninstallRegKey
有效值: yes 或 no
默认值: yes

说明:
如果该值设置为 no, 安装程序将不会在控制面板的“添加/删除程序”中创建一项。这个可以用于你的应用程序只是更新一个已经存在的应用程序而不想创建其它的项,但是请不要完全的禁止卸载功能(通过 Uninstallable=no)。

当这个关键字设置为 no 时,UpdateUninstallAppName 通常也设置为 no .

[Setup]: OverwriteUninstRegEntries
说明:
1.3 版本以后已废弃。该关键字已经不再被支持并且被忽略。在 Inno Setup 1.3.6 及以后的版本中,它的功能作为如果设置为 1 优先版本的 OverwriteUninstRegEntries 关键字(这是默认的设置)。
[Setup]: DirExistsWarning
有效值: auto, yes 或 no
默认值: auto

说明:
当设置为 auto 时,即默认的设置,如果用户在选择目标文件夹向导页中选择了一个已经存在的文件夹,安装程序将显示“文件夹: … 已经存在,以愿意将程序安装到这个文件夹下面吗?”的消息,除非有相同的应用程序的其它版本已经安装并且也选择了和上次安装时相同的目录(仅如果 UsePreviousAppDir 是 yes ,即默认设置)。

当设置为 yes 时,如果用户选择了已存在的目录安装程序将始终显示“目录已存在的消息”。

当设置为 no 时,安装程序决不会显示“目录已存在的消息”。

[Setup]: DisableDirExistsWarning
有效值: yes 或 no
默认值: no

说明:
到版本 1.3.6 时已经废弃。使用 DirExistsWarning 代替。

编译器仍然承认 DisableDirExistsWarning,但是如果 DisableDirExistsWarning=no 它将被转换成 DirExistsWarning=auto, 而且 DisableDirExistsWarning=yes 被转换成 DirExistsWarning=no. 如果同时指定了 DisableDirExistsWarning 和 DirExistsWarning 关键字,则优先处理 DirExistsWarning.

[Setup]: DisableDirPage
有效值: yes 或 no
默认值: no

说明:
如果该项设置为 yes, 安装程序将不会显示“选择目标文件夹”向导页。在这种情况下,它将始终使用默认的目录名。

[Setup]: DisableFinishedPage
有效值: yes 或 no
默认值: no

说明:
如果该项设置为 yes, 安装程序将不会显示“安装完成”向导页,并且在一次安装过程结束后会立即关闭安装程序。如果在 [Run] 段里面有一个要被执行的程序使用了 nowait 标记,并且你不希望在该程序被启动之候安装完成窗口还逗留在后台,此时该项是有用的。

注意安装程序认为要重新启动计算机,或如果指派了一个文件给 [Setup] 段的 InfoAfterFile 关键字,都将忽略 DisableFinishedPage 关键字。象这些情况,仍然会显示“安装完成”向导页。

[Setup]: DisableProgramGroupPage
有效值: yes 或 no
默认值: no

说明:
如果该项设置为 yes, 安装程序将不会显示“选择程序组”向导页。在这种情况下,它将使用由 [Setup] 段的 DefaultGroupName 关键字指定的组名,或者“(Default)”如果没有指定组名的话。

[Setup]: AlwaysUsePersonalGroup
有效值: yes 或 no
默认值: no

说明:
通常对于 Windows NT/2000, 如果用户具有管理员权限,Inno Setup 的 {group} 常量被指向全部用户(All Users)的开始菜单。如果该项被设置为 yes, 它将始终使用当前用户的私人文档(Profile)。

[Setup]: OutputBaseFilename
默认值: setup
说明:
这个关键字允许你为输出的安装程序文件指定一个不同的名字,这样一来你就不用在运行完安装编译器以后手工为它们改名。

注意:如果 UseSetupLdr 被设置为 no, 输出文件 SETUP.0 和 SETUP.MSG 的名字是不会被改变的,因为它们是强制编码(hard-coded)的名字。

示例: OutputBaseFilename=MyProg100

[Setup]: UninstallFilesDir
默认值: {app}
说明:
指定存放卸载程序文件“unins*.*”的目录。

注意:对于同一个应用程序的更新版本不应该将它赋一个不同的值,这样一来安装程序就不能在以前的版本中找到卸载记录,因此就不能添加到该应用程序。

示例: UninstallFilesDir={app}/uninst

[Setup]: UninstallDisplayIcon
说明:
让你指定一个确定的图标文件(可以是一个可执行文件或者一个 .ico 文件)来显示在 Windows 2000 控制面板的“添加删除程序”的卸载项当中,文件名通常以一个目录常量开始。
如果指定的文件包含多个图标,你可以加上“,n”后缀以指定一个图标索引,这里的 n 是以零为基数的索引数值。

如果没有指定该关键字或者该关键字为空,Windows 将自己选择一个图标,当然这个可能是你不太喜欢的图标。

示例:
UninstallDisplayIcon={app}/MyProg.exe
UninstallDisplayIcon={app}/MyProg.exe,1

[Setup]: UninstallDisplayName
说明:
让你为控制面板的“添加/删除程序”中的程序项指定一个制定的名字。如果未指定该关键字或该关键字为空,安装程序将使用 [Setup] 段中的 AppVerName 关键字的名字(就像老版本的 Inno Setup 一样)。
由于 Windows 9x 的控制面板的“添加/删除程序”项的限制,UninstallDisplayName 不能超过 63 个字符。

示例:
UninstallDisplayName=My Program

[Setup]: UninstallIconName
说明:
你能够使用该关键字给安装程序创建的卸载图标指定一个制定的名字(参见AlwaysCreateUninstallIcon)。如果该关键字为空或没有指定,安装程序将其命名为“卸载 App-Name”,这里的“App-Name”是由 [Setup] 段的关键字 AppName 指定的。
注意: 记住 Windows 95/NT 4+ 的应用程序图标是作为文件直接存储的,这样一来普通文件所不允许使用的字符都不能用来作为应用程序图标的名称。

示例: UninstallIconName=Uninstall My Program

[Setup]: UninstallLogMode
有效值: append, new 或 overwrite
默认值: append

说明:
append, 默认设置,如果可能,通知安装程序添加到一个已存在的卸载记录。

new, 同 Inno Setup 1.3 版本以前的版本的行为是一致的,通知安装程序始终创建一个新的卸载记录。

overwrite 通知安装程序要覆盖相同的应用程序的任何已存在的卸载记录而不是添加(这是不被推荐的)。相同的规则添加到已存在的记录应用于覆盖已存在的记录。

示例: UninstallLogMode=append

[Setup]: UpdateUninstallAppName
有效值: yes 或 no
默认值: yes

说明:
如果为 yes, 当添加到一个已存在的卸载记录时,安装程序将以当前的安装程序的 AppName 替换在卸载记录中的 AppName. 卸载记录中的 AppName 决定了卸载程序显示的标题。如果你的安装程序只是一个升级或附加到一个已存在的程序,并且你不想改变卸载程序的标题,那么你可以设置该值为 no.

[Setup]: DefaultGroupName
说明:
该关键字的值是默认的“程序管理器/开始菜单”程序组的名称,它被“选择程序组”向导页使用。如果该关键字为空或没有指定的话,它将会使用“(默认)”作为其名称。
注意: 记住 Windows 95/NT 4+ 的应用程序图标是作为文件直接存储的,这样一来普通文件所不允许使用的字符都不能用来作为应用程序图标的名称。

示例: DefaultGroupName=My Program

[Setup]: DisableStartupPrompt
有效值: yes 或 no
默认值: no

说明:
如果该值被设为 yes, 安装程序将不会显示“准备安装…,你希望继续吗?”的提示。

如果 UseSetupLdr 被设置为 no 该值将不会产生作用。

[Setup]: DiskSpanning
有效值: yes 或 no
默认值: no

说明:
决定编译器是创建一个单独的 SETUP.EXE, 还是把它分割成为几个文件以适合于放到分开的软磁盘上。当这个关键字被设置为 yes, 磁盘生成是允许的,将输出文件 SETUP.EXE 和 SETUP.1 复制到第一个磁盘上,SETUP.2 复制到第二个磁盘上,等等。

[Setup]: DiskSize
默认值: 1457664 (一个 1.44MB 软磁盘的大小)
说明:
指定了一个磁盘的可用空间统计数值的字节值。

如果 [Setup] 段的关键字 DiskSpanning 没有允许磁盘输出则这个关键字就会被忽略。

[Setup]: DiskClusterSize
默认值: 512 (软磁盘的标准的簇的大小)
说明:
它指定了磁盘介质的簇的大小。安装编译器需要知道该值为了适当的填充每一个磁盘的容量。

如果 [Setup] 段的关键字 DiskSpanning 没有允许磁盘输出则这个关键字就会被忽略。

[Setup]: ReserveBytes
默认值: 0
说明:
指定了应该在第一张磁盘上保留的最小空闲字节数,这样可以用于将其它的不是安装程序部分的文件复制到第一张磁盘上,比如说一个自述文档。

安装编译器将把这个数值取整为最接近的簇。

如果 [Setup] 段的关键字 DiskSpanning 没有允许磁盘输出则这个关键字就会被忽略。

[Setup]: DontMergeDuplicateFiles
有效值: yes 或 no
默认值: no

说明:
通常两个具有相同的源文件的项将只会被存储和压缩一次。如果你的安装程序中有一组相同的文件,在脚本中使他们只想相同的源文件,这样你的安装程序的能够明显缩小。如果由于某些原因你希望禁止这个功能,设置该关键字为 yes .

[Setup]: AllowNoIcons
有效值: yes 或 no
默认值: no

说明:
这个用于决定安装程序是否显示一个“不创建任何图标”的复选框,这样使用户能够跳过创建程序图标的过程。如果该项为 no 将不会显示复选框,如果为 yes 则将被显示。

如果安装程序运行在 NT 3.51 上时选择了“不创建任何图标”的复选框,那么用户能够彻底卸载应用程序的办法只有执行应用程序目录下面的 unins???.exe 文件。因为这个原因,我们推荐你保留 AllowNoIcons 设置为 no.

[Setup]: AllowRootDirectory
有效值: yes 或 no
默认值: no

说明:
当设置为 no 时,即默认的,用户将不能被允许在“选择目录页”向导中输入一个根目录(就像“C:/”)。

[Setup]: AlwaysRestart
有效值: yes 或 no
默认值: no

说明:
当设置为 yes, 安装程序始终会在一次成功的安装过程结束后提示用户重新启动系统,而不管这是不是必须的(因为在 [Files] 段的一些项当中带有 restartreplace 标记)。

[Setup]: MessagesFile
默认值: compiler:DEFAULT.ISL
说明:
指定要读取的默认信息的文件的名称。运行安装编译器时该文件必须位于你的安装程序的源目录中,除非指定了一个全程路径名称,或者路径名是以“compiler:”作为其前缀,这样它会在编译器的目录当中查找该文件。

当指定了多个文件时,它们时按照它们所排列的顺序被读取的,因而最后的消息文件中的消息就会覆盖其先前的消息文件。

请参见 [Messages] 段帮助主题关于 .isl 文件格式的详细资料。

示例: MessagesFile=compiler:czech.isl
MessagesFile=compiler:default.isl,compiler:mymessages.isl  

[Setup]: LicenseFile
说明:
指定一个可选的许可协议文件的名称,为 .txt 或 .rtf (丰富文本)格式,它在用户选择程序的目标文件夹之前被显示。运行安装编译器时该文件必须位于你的安装程序的源目录中,除非指定了一个全程路径名称,或者路径名是以“compiler:”作为其前缀,这样它会在编译器的目录当中查找该文件。
示例: LicenseFile=license.txt

[Setup]: InfoBeforeFile
说明:
指定一个可选的自述文档(Readme)的名称,为 .txt 或 .rtf (丰富文本)格式,它在用户选择程序的目标文件夹之前被显示。运行安装编译器时该文件必须位于你的安装程序的源目录中,除非指定了一个全程路径名称,或者路径名是以“compiler:”作为其前缀,这样它会在编译器的目录当中查找该文件。
示例: InfoBeforeFile=infobefore.txt

[Setup]: InfoAfterFile
说明:
指定一个可选的自述文档(Readme)的名称,为 .txt 或 .rtf (丰富文本)格式,它会在安装成功以后被显示。运行安装编译器时该文件必须位于你的安装程序的源目录中,除非指定了一个全程路径名称,或者路径名是以“compiler:”作为其前缀,这样它会在编译器的目录当中查找该文件。
这个不同于代有 isreadme 标记的文件项,它的文本是作为向导的一页被显示的,而后者显示于一个单独的记事本窗口。

示例: InfoAfterFile=infoafter.txt

[Setup]: ChangesAssociations
有效值: yes 或 no
默认值: no

说明:
当设置为 yes 时,安装程序会在其安装过程结束时告诉资源管理器要刷新它的文件关联信息,并且卸载程序在其卸载过程结束时也会去这样作。如果安装程序运行在 Windows NT 3.51 上时这个关键字时不起作用的。

如果你的安装程序创建了一个文件关联但是没有将 ChangesAssociations 设置为 yes, 该文件类型的正确的图标很可能不会被显示知道用户注销或者重新启动计算机。

[Setup]: UsePreviousAppDir
有效值: yes 或 no
默认值: yes

说明:
当该关键字被设置为 yes 时,即默认值,再安装程序启动时将会在注册表中查找看是否有相同的应用程序已经被安装,如果是这样,它将使用先前的安装程序的目录作为默认的目录提供给用户的向导。

注意只有 Inno Setup 1.3.1 和其后续版本才会在注册表中保存安装的目录,就是说安装程序不会“看见”老版本的 Inno Setup 安装的应用程序。

[Setup]: UsePreviousGroup
有效值: yes 或 no
默认值: yes

说明:
当该关键字被设置为 yes 时,即默认值,再安装程序启动时将会在注册表中查找看是否有相同的应用程序已经被安装,如果是这样,它将使用先前的安装程序的开始菜单组作为默认的开始菜单组提供给用户的向导。

注意只有 Inno Setup 1.3.1 和其后续版本才会在注册表中保存安装的目录,就是说安装程序不会“看见”老版本的 Inno Setup 安装的应用程序。

[Setup]: Password
说明:
指定一个口令,在安装过程开始时提示用户输入。
如果使用了一个口令,重要的是要紧记并没有加密技术被使用,并且 Inno Setup 的源代码是完全开放的,对于一个个别的富有经验的人来说从安装程序中移去口令的保护不是十分困难的。使用口令仅仅起到一个阻止那些没有得到授权的人使用你的安装程序。

[Setup]: WizardImageFile
默认值: compiler:WIZIMAGE.BMP
说明:
指定要在安装程序向导左侧显示的位图文件的名称。运行安装编译器时该文件必须位于你的安装程序的源目录中,除非指定了一个全程路径名称,或者路径名是以“compiler:”作为其前缀,这样它会在编译器的目录当中查找该文件。

当前还不支持 256 色位图,因为尚未使用调色板句柄。位图的最大尺寸是 117x231 象素。

示例: WizardImageFile=myimage.bmp

[Setup]: WindowShowCaption
有效值: yes 或 no
默认值: yes

说明:
如果设置为 no, 安装程序将会是真正的“全屏幕” ―― 它没有标题栏和边框,并且会位于任务栏的前面。

[Setup]: WindowStartMaximized
有效值: yes 或 no
默认值: yes

说明:
如果设置为 no, 安装程序启动时不会初始为最大化,这样会导致藏起任务栏。

[Setup]: WindowResizable
有效值: yes 或 no
默认值: yes

说明:
如果设置为 no, 在安装程序背景窗口不是最大化状态时用户将不能调整其大小。

[Setup]: WindowVisible
有效值: yes 或 no
默认值: yes

说明:
如果设置为 no, 安装程序背景窗口将是不可见的 ―― 只有向导和安装过程窗口。

[Setup]: WizardImageBackColor
有效值: 一个值形如 $bbggrr, 这里的 rr, gg 和 bb 指定了两位的亮度值(以十六进制表示)分别为红色,绿色和蓝色。或者也可以是下列预定义的颜色名称之一:clBlack(黑色),clMaroon(暗红),clGreen(绿色),clOlive(橄榄绿),clNavy(深蓝),clPurple(紫色),clTeal(深青),clGray(灰色),clSilver(浅灰),clRed(红色),clLime(浅绿),clYellow(黄色),clBlue(蓝色),clFuchsia(紫红),clAqua(青绿),clWhite(白色)。  
  
默认值: clTeal  

说明:
该关键字指定了用于填充向导位图(由 WizardImageFile 指定)周围的未使用区域的背景颜色。

[Setup]: SourceDir
说明:
给脚本指定一个新的源目录sourcedirectorynotes。
示例: SourceDir=c:/files

[Setup]: OutputDir
说明:
给脚本指定一个新的输出目录,这是安装编译器放置输出的 SETUP.* 文件的地方。默认情况下它在含有脚本文件的目录下创建一个“OUTPUT”子目录。
示例: OutputDir=c:/output

 

其它

关于 Program Files 目录的说明
Program Files 目录历来就只被 Windows 95/NT 4+ 支持。在 NT 3.51 上一个“模拟的” Program Files 目录被创建于系统驱动器目录下硬代码名称“/Program Files”。
源目录
默认情况下,如果没有包含全程路径名,安装编译器期望在与脚本文件相同的目录中找到在脚本中 [Files] 段引用的 Source 参数的文件和 [Setup] 段引用的文件。要指定一个不同的源目录,在脚本的 [Setup] 段中创建一个 SourceDir 关键字。
使用版本创建编号和(或)服务包级别
在 MinVersion 和 OnlyBelowVersion 中的版本号能够包含版本创建编号(Build numbers)和(或)服务包级别(service pack levels) 例如:5.0.2195, 5.0sp1, 5.0.2195sp1。如果一个版本创建编号没有被指定或者为零,安装程序将不会检查版本创建编号。如果一个服务包级别没有被指定或者为零,安装程序会将其解释为“没有服务包”。注意安装程序只能在 NT 4.0 及其后续版本中检查服务包级别,所以指定“3.51sp5”去检查NT 3.51 SP5 将不会工作。
关于"yes" 和 "no" 的说明
为了保持和旧版本 Inno Setup 的兼容性,1 和 0 可以分别的代替 yes 和 no 使用。
另外,它也允许 true 和 false 代替 yes 和 no 使用。

相同的应用程序
“相同的应用程序” 涉及到两个分开的安装程序共享一个相同的 AppId 设置 (或者如果 AppId 没有设置,那么有相同的 AppName 设置).
添加到已存在的卸载记录
当一个新版本的应用程序被安装并覆盖一个已存在的版本时,并不创建一个新的卸载记录文件(unins???.dat),安装程序会在默认的情况下寻找并添加到一个已存在的属于相同的应用程序并在相同的目录中的卸载记录文件中,这样,当应用程序被卸载时,所有的不同的安装程序所做的改变将会被撤销(开始于最近的安装程序)。
卸载程序将会使用最近的应用程序的安装程序的消息(messages)。然而,有一个例外:如果一个安装程序被一个旧版本的 Inno Setup 所创建,它包含一个比用户系统中的已存在的版本还要旧的卸载程序,两个卸载程序的消息都不会被替换,尽管在这种情况下卸载记录仍然会被添加,因为它的文件格式是向后兼容的。

卸载程序显示的应用程序的名称将会与最近安装程序中 [Setup] 段的关键字 AppName 的值相同,除非 UpdateUninstallAppName 被设置为 no.

卸载记录添加功能是不熟悉的 Inno Setup 1.3。如果你希望禁止它,设置 [Setup] 段的关键字 UninstallLogMode.

注意:安装程序只能添加到被 Inno Setup 1.3.1 (及其后续版本)的安装程序创建的卸载记录文件中。

抱歉!评论已关闭.