3-Sections详解之[Setup] Section

官方说明:Inno Setup Help

[Setup] Section用于设置安装程序和卸载程序使用的全局设置,其中某些指令对于创建任何安装程序都是必需的。

1. Compiler-related(编译相关的)

字段

功能

ASLRCompatible

yes/no,默认yes

指定编译器是否应在安装程序和卸载程序的header中设置“Dynamic Base”标志。

此功能是5.5.7版本的新增功能

Compression

zip

zip/1到zip/9

bzip

bzip/1到bzip/9

lzma

lzma/fast

lzma/normal

lzma/max

lzma/ultra(有内存要求)

lzma/ultra64(有内存要求)

lzma2

lzma2/fast

lzma2/normal

lzma2/max(默认值)

lzma2/ultra(有内存要求)

lzma2/ultra64(有内存要求)

none

指定要在文件中使用的压缩方法和压缩级别。较高级别的压缩效果较好,但压缩的时间较长,而且在压缩/解压缩也需要更多内存。

● zip 是属于 .zip 文件类型(“deflate”)的压缩方法。它在压缩和解压缩时最快,而且需要的内存也很低(在标准 9 时压缩和解压缩小于 1 MB),但与其它支持的压缩方法比较几乎不压缩。如果未指定压缩级别,则它的默认值为 7

● bzip 是通过使用 bzip2 [external link] 压缩器的压缩方法。它的压缩要比 zip 压缩好,但通常在压缩和解压缩时较慢。如果未指定压缩级别,则它的默认值为 9。

● lzma 是通过使用 7-Zip LZMA [external link] 压缩器的压缩方法。它比 zip 和 bzip 且有更高的的压缩率。可是,根据使用的压缩标准,它在压缩时很慢,且消耗更多的内存。如果未指定压缩级别,则它的默认值为 max。

● lzma2 是通过使用 7-Zip LZMA2 [external link] 压缩器的压缩方法。LZMA2 是 LZMA 的修改版,它对不可压缩的数据提供一个更好的压缩比(随机数据扩展约0.005%,与原 LZAM 比较为1.35%),并且可随意并行压缩大型文件的多个部件,大大提高了压缩速度,但有可能减少压缩比。像 LZMA 一样,它可能会消耗大量的内存。如果未指定压缩级别,则它的默认值为 max。

● none指定不使用压缩。

CompressionThreads

auto(默认)

1

2 (or higher)

控制是否在LZMA和LZMA2压缩器上启用多线程匹配查找器。在具有多核的系统上,启用多线程匹配查找器可以将压缩过程加快50%或更多。

auto:可为所有压缩级别启用多线程匹配查找器,但不支持fast。

1:禁用

2 (or higher) :相当于auto

注意:对于LZMA2压缩器,此指令仅控制是否使用多线程匹配查找器。要支持并行压缩大文件的多个部分,请设置LZMANumBlockThreads。

DEPCompatible

yes/no,默认yes

指定编译器是否应在安装程序和卸载程序的header中设置“NX Compatible”标志,以标记它们与数据执行阻止(DEP)兼容。此功能是5.5.7版本的新增功能。

如果在[Code]中使用的是可能有bug的第三方DLL,则需要将其设置为no。

DiskClusterSize

默认值:512

指定磁盘介质的群集大小。编译器需要知道这一点,以便正确地将每个磁盘填满。

如果未指定DiskSpanning字段,则此字段被忽略。

DiskSliceSize

262144到2100000000,

max(默认值,即2100000000)

指定每个磁盘片的最大字节数。

如果未指定DiskSpanning字段,则此字段被忽略。

DiskSpanning

yes/no,默认no

是否启用磁盘span功能。yes表示启用,则编译器不会将所有压缩文件数据存储在SETUP.EXE中,而是将其拆分为多个SETUP-*.BIN文件(称为“切片”),适合复制到单独的软盘、CD-ROM或DVD-ROM上。

Encryption

yes/no,默认no

设置为yes,则编译到安装包中的文件([Files]段中指定的)会使用ARCFOUR加密,用于加密的密钥是64位随机盐加上Password字段值的160位SHA-1哈希。

如果启用了加密,并且在用户输入正确密码前从[Code]段调用ExtractTemporaryFile 函数,则除非在[Files]段的项中使用noencryption标志,否则函数会失败。

InternalCompressLevel

none,

或者LZMA压缩级别之一,

默认值:normal

指定要在安装程序的内部结构上使用的LZMA压缩级别。一般来说,不需要更改其默认设置。

LZMAAlgorithm

0或1。如果LZMA压缩级别设置为fast,则默认值为0;否则默认值为1

控制LZMA和LZMA2压缩器使用的算法。

0启用快速算法。

1启用正常算法。

LZMABlockSize

1024到262144

默认值:4*LZMADictionarySize

当LZMANumBlockThreads设置为2或更高时,控制LZMA2压缩器使用的块大小(单位KB)。

注意:设置得太高可能会抵消使用多个块线程的好处。通常,块大小不应大于数据的总大小除以块线程数。

Output

yes/no,默认yes

设置为no,编译器将只检查脚本是否有错误,不会生成安装包。

注意:它仍然会清理输出目录并删除清单文件,除非OutputDir和OutputManifestFile设置为空字符串。

OutputBaseFilename

默认值:mysetup

设置安装包名称

OutputDir

默认值:Output

设置安装包输出目录。默认情况下,它会在包含脚本的目录下创建一个名为“Output”的目录。

OutputManifestFile

设置此字段后,编译器将创建一个清单文件,详细说明编译到安装程序中的文件的信息。除非包含路径,否则文件将在输出目录中创建。

例如:OutputManifestFile=Setup-Manifest.txt

SignedUninstaller

yes/no,如果设置了SignTool字段则默认为yes,否则默认no

指定是否应在部署卸载程序(unins???.exe)时附加数字签名。如果卸载程序具有有效的数字签名,则用户在卸载时不会看到“unknown publisher”警告。

第一次编译此字段设置为yes的脚本时,将在SignedUninstallerDir字段指定的目录(默认为输出目录)中创建一个唯一命名的卸载程序exe文件副本。然后根据SignTool字段设置,系统会提示您使用外部代码签名工具将数字签名附加到此文件,或者会自动对文件进行即时签名。在随后的编译中,文件中的签名将嵌入已编译安装的卸载程序中。

SignedUninstallerDir

默认值:OutputDir

指定存储已签名卸载程序文件的目录,默认存储在输出目录中。

.表示放在源目录中

SignTool

后面跟零个或多个参数的名称,用空格分隔

指定用于签名的签名工具的名称和参数:

当安装程序具有有效的数字签名时,用户在启动时不会看到“unidentified program”警告。

SignToolMinimumTimeBetween

默认值0

指定编译器连续进行数字签名操作之间应该经过的最小毫秒数。可用于避免被速率限制的时间戳服务拒绝。

例如:如果设置为5000,则编译器最多每5秒执行1次数字签名。

SignToolRetryCount

默认值2

指定编译器在出现任何错误时自动重试数字签名的次数。

SignToolRetryDelay

默认值500

指定编译器在SignToolRetryCount指定的任何自动数字签名重试之前应等待的毫秒数。

SignToolRunMinimized

yes/no,默认no

当设置为yes时,编译器将在最小化的窗口中运行Sign Tools。

SlicesPerDisk

yes/no,默认no

yes:启用实体压缩(solid compression)。这将导致所有文件同时压缩,而不是单独压缩。

缺点:由于所有文件都被压缩成一个压缩流,安装程序无法再随机访问这些文件。这可能会降低性能。如果某个文件不会在用户的系统中提取,它必须先将该文件的数据解压缩(到内存中),然后才能解压缩下一个文件。

例如:如果在提取特定文件时出错,用户单击“重试”,它就不能只查找该文件压缩数据的开头;由于所有文件都存储在一个流中,因此它必须从一开始就进行查找。如果启用了磁盘扩展,用户将不得不重新插入磁盘1。

SolidCompression

SourceDir

为脚本指定一个新的源目录。

TerminalServicesAware

UsedUserAreasWarning

UseSetupLdr

yes/no,默认yes

指定要创建哪种类型的安装程序。

yes:编程成一个exe

no:编译成三个文件:setup.exe、setup-0.bin、setup-1.bin,一般用于调试

VersionInfoCompany

默认值:AppPublisher,如果AppPublisher不包含常量

安装程序版本信息中的公司名的值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoCopyright

默认值:AppCopyright,如果

AppCopyright不包含常量

安装程序版本信息的版权值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoDescription

安装程序版本信息的文件描述值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoOriginalFileName

指定安装程序版本信息的原始文件名值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoProductName

安装程序版本信息产品名称值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoProductTextVersion

安装程序版本信息的文本产品的版本值。

如果 UseSetupLdr 被设置为 no,则该设置不起作用。

VersionInfoProductVersion

最多4个用点分隔的数字形式的值,默认值:VersionInfoVersion

指定安装程序版本信息的二进制产品版本值。

允许使用部分版本号。缺少的数字将被附加为零。

注意:只有Windows Vista SP2上的资源管理器才会显示此值。其他版本则显示VersionInfoProductTextVersion。

VersionInfoTextVersion

默认值:VersionInfoVersion

指定安装程序版本信息的文本文件版本值。

注意:此值仅显示在Windows 98及更早版本的资源管理器的“版本”选项卡上。稍后的版本显示二进制版本值(VersionInfoVersion)。

如果UseSetupLdr设置为no,则此设置无效。

VersionInfoVersion

最多4个用点分隔的数字形式的值,默认0.0.0.0

指定安装程序版本信息的二进制文件版本值。

允许使用部分版本号。缺少的数字将被附加为零。

如果UseSetupLdr设置为no,则此设置无效。

2. Installer-related(安装卸载相关的)

这些字段会影响安装程序的操作,或者后续由卸载程序来使用。

字段

功能

AllowCancelDuringInstall

AllowNetworkDrive

AllowNoIcons

AllowRootDirectory

AllowUNCPath

yes/no,默认yes

如果设置为否,则不允许用户在安装向导的“选择目标位置”页面上输入UNC路径(如“\\server\share”)。这是Inno Setup 2.0.17及更早版本中的默认行为。

要完全禁止安装到网络位置,还必须将AllowNetworkDrive设置为no。

AlwaysRestart

yes/no,默认no

当设为 yes 时,安装程序不管是否需要,总是在安装结束时提示用户重新启动系统。

例如:[Files] 段条目带有 restartreplace 标记

AlwaysShowComponentsList

AlwaysShowDirOnReadyPage

AlwaysShowGroupOnReadyPage

AlwaysUsePersonalGroup

AppendDefaultDirName

AppendDefaultGroupName

AppComments

此字符串显示在控制面板中。

该值可能包括常量。

AppContact

此字符串显示在控制面板中。

该值可能包括常量。

AppId

默认值:AppName

表示应用的唯一ID

AppModifyPath

AppMutex

此字段用于防止用户在应用程序正在运行时安装应用程序的新版本,并防止用户卸载正在运行的应用程序。它指定一个或多个命名互斥量的名称(多个互斥量用逗号分隔),安装程序和卸载程序将在启动时检查这些互斥体。如果互斥量存在,则安装程序/卸载程序将显示:[Setup or Uninstall] has detected that [AppName] is currently running. Please close all instances of it now, then click OK to continue, or Cancel to exit.

使用此字段需要在程序中创建对应的互斥对象。

例如:CreateMutex(NULL, FALSE, "MyProgramsMutexName");

注意:

① 不需要在应用程序终止时显式地销毁互斥对象;系统将自动执行此操作。也不建议这样做,因为理想情况下互斥对象应该存在,直到进程完全终止。

② Windows中的互斥对象名称比较是区分大小写的。

AppName

必填字段。

指定要安装的应用程序的名称。不需要包含版本号,版本号是由AppVersion或AppVerName 字段定义。

如果DisableWelcomePage字段设置为yes(默认情况下为yes),则AppVerName将显示在窗口标题,而不是AppName。

如果未指定AppId、VersionInfoDescription和VersionInfoProductName字段,则此字段的值也用作这些字段的默认值。

此字段可以包含常量

AppPublisher

此字符串显示在“添加/删除程序”控制面板小程序的“支持”对话框中。

该值可能包括常量。

AppPublisherURL

AppReadmeFile

AppSupportPhone

此字符串显示在控制面板中。

该值可能包括常量。

例如:AppSupportPhone=1-800-555-1212

AppSupportURL

AppUpdatesURL

AppVerName

指定应用程序的名称及其版本号。此值将显示在安装程序向导的欢迎页面上,并用作控制面板中应用程序的的默认标题。

该值可能包括常量。

例如:AppVerName=My Program 1.5

AppVersion

必填字段。

指定要安装的应用程序的版本号。

ArchitecturesAllowed

下列中的一个/多个,空格分隔:

x86

x64

arm64

ia64

指定安装包可以在什么系统上运行。

如果不指定,则安装包可以在所有可以执行32位软件的系统在运行。

如果指定,则如果用户的处理器体系结构不是此指令中指定的体系结构之一,安装程序将显示一条错误消息并退出。

ArchitecturesInstallIn64BitMode

下列中的一个/多个,空格分隔:

x64

arm64

ia64

指定安装程序在64位安装模式下运行。如果未指定,则在32位安装模式下运行。

ChangesAssociations

ChangesEnvironment

yes/no/布尔表达式,默认:no

yes/布尔表达式=True:安装程序将在安装结束时通知其他正在运行的应用程序(尤其是Windows资源管理器),它们应该从注册表中重新加载环境变量。

如果安装包创建或更改了环境变量,但未将ChangesEnvironment设置为yes,则在用户注销或重新启动计算机之前,从资源管理器启动的应用程序将看不到新的或更改的环境变量。

CloseApplications

force/yes/no,默认:yes

yes/force:且安装程序未以静默方式运行,则如果安装程序检测到应用程序正在使用的文件需要由[Files]或[InstallDelete]更新,则安装程序将在“准备安装”向导页面上暂停,显示应用程序并询问用户安装程序是否应自动关闭应用程序并在安装完成后重新启动它们。

yes/force:且安装程序以静默方式运行,则安装程序将始终关闭并重新启动这些应用程序,除非通过命令行告知不要这样做。

force:安装程序将在关闭应用程序时强制关闭,除非通过命令行告知不要关闭。这可能会导致用户丢失未保存的工作。

CloseApplicationsFilter

CreateAppDir

yes/no,默认:yes

no:不会为应用程序创建任何目录,也不会显示“选择目标位置”向导页面,并且{app}目录常量等于{win}目录常数。

如果在CreateAppDir为否时启用了卸载功能,则卸载数据文件将在系统的Windows目录中创建。

CreateUninstallRegKey

DefaultDialogFontName

DefaultDirName

指定默认安装目录。通常前缀是目录常量。

如果UsePreviousAppDir设置为yes(默认值),并且安装程序发现已经安装了同一应用程序的低版本,则它将用以前选择的目录替换默认目录名。

例如:DefaultDirName={sd}\MYPROG,即:C:\MYPROG

DefaultGroupName

指定开始菜单中的文件夹名称。如果未指定,则使用"Default"

DefaultUserInfoName

DefaultUserInfoOrg

DefaultUserInfoSerial

DirExistsWarning

DisableDirPage

auto/yes/no,默认:auto

yes:不显示选择目标位置的向导页面

auto:安装程序启动时,在注册表中查看是否已安装相同的应用程序,如果已安装,则不会显示“选择目标位置”向导页面。

如果不显示“选择目标位置”向导页面,则将始终使用默认目录名。

DisableFinishedPage

DisableProgramGroupPage

auto/yes/no,默认:auto

yes:不显示“选择开始菜单文件夹”的向导页面。

auto:安装程序在启动时,在注册表中查看是否已安装相同的应用程序,如果已安装,则不会显示“选择开始菜单文件夹”向导页面。

如果未显示“选择开始菜单文件夹”向导页面,它将始终使用默认的开始菜单文件夹名称。

DisableReadyMemo

DisableReadyPage

DisableStartupPrompt

DisableWelcomePage

EnableDirDoesntExistWarning

ExtraDiskSpaceRequired

InfoAfterFile

InfoBeforeFile

LanguageDetectionMethod

LicenseFile

MinVersion

格式:major.minor

默认值:6.1sp1 (Windows 7 with Service Pack 1 or Windows Server 2008 R2 with Service Pack 1)

指定软件运行的Windows最低版本。可能包括内部版本号和/或sp级别。

如果用户的系统不符合最低版本要求,安装程序将显示一条错误消息并退出。

OnlyBelowVersion

Password

PrivilegesRequired

PrivilegesRequiredOverridesAllowed

RestartApplications

RestartIfNeededByRun

SetupLogging

yes/no,默认:no

yes:安装程序将始终创建一个日志文件。相当于在命令行上传递/LOG。

日志路径:%TEMP%\Setup Log YYYY-MM-DD #NNN.txt

SetupMutex

ShowLanguageDialog

auto/yes/no,默认:yes

yes:且有多个[Languages] 段时,将显示“选择语言”对话框,以便用户有机会覆盖默认选择的语言设置。

no:不显示“选择语言”对话框

auto:只有当安装程序找不到匹配的语言标识符时,才会显示“选择语言”

对话框。

TimeStampRounding

TimeStampsInUTC

TouchDate

TouchTime

Uninstallable

UninstallDisplayIcon

指定一个特定的图标文件(可执行文件或.ico文件),以便在控制面板的“卸载”项中显示。

如果指定的文件包含多个图标,则可以附加后缀“,n”来指定图标索引,其中n是从零开始的数字索引。

例如:UninstallDisplayIcon={app}\MyProg.exe,1

UninstallDisplayName

指定控制面板中程序(program)条目的名称。

该值可能包括常量。

如果未制定,则使用[Setup]段中AppVerName的值作为名称。

UninstallDisplaySize

UninstallFilesDir

UninstallLogMode

append/new/overwrite

append:默认值。指定安装程序在可能的情况下附加到现有的卸载日志。

new:指定安装程序始终创建一个新的卸载日志。

overwrite:指示安装程序覆盖同一应用程序中的任何现有卸载日志,而不是附加到这些日志中(不建议这样做)。附加到现有日志的规则也适用于覆盖现有日志。

UninstallRestartComputer

UpdateUninstallLogAppName

UsePreviousAppDir

yes/no,默认:yes

yes:安装程序在启动时,在注册表中查看是否已安装相同的应用程序,如果已安装,则将使用上次安装的目录作为向导中提供给用户的默认目录。

UsePreviousGroup

UsePreviousLanguage

UsePreviousPrivileges

UsePreviousSetupType

UsePreviousTasks

UsePreviousUserInfo

UserInfoPage

3. Cosmetic(安装卸载外观)

这些字段只影响安装程序的外观

字段

功能

AppCopyright

当WindowVisible设置为yes时,指定安装程序在背景窗口的右下角显示的版权消息。

例如:AppCopyright=Copyright (C) 1997-2005 My Company, Inc.

BackColor

BackColor2

BackColorDirection

BackSolid

FlatComponentsList

yes/no,默认:yes

yes:安装程序组件列表使用平面复选框

no:安装程序组件列表使用3D复选框

SetupIconFile

指定用于安装/卸载的自定义程序图标。

运行编译器时,文件必须位于安装的源目录中,除非指定了完全限定的路径名或路径名前缀为“compiler:”,在这种情况下,它会在编译器目录中查找文件。

建议在图标中至少包含以下尺寸:16x16、32x32、48x48、64x64和256x256。

如果未指定,则使用上述大小的内置图标。

ShowComponentSizes

yes/no,默认:yes

yes:安装程序在组件列表中显示组件的大小。

根据最大的组件决定显示单位是KB或MB

ShowTasksTreeLines

yes/no,默认:no

yes:安装程序将在父和子之间显示“树线”。

WindowShowCaption

yes/no,默认:yes

no:安装程序将是真正的“全屏”——它不会有标题栏或边框,而是位于任务栏顶部。

如果WindowVisible未设置为yes,则此字段无效。

WindowStartMaximized

yes/no,默认:yes

yes:安装程序的背景窗口最初将以最大化状态显示,不会覆盖任务栏。

如果WindowVisible未设置为yes,则此字段无效。

WindowResizable

yes/no,默认:yes

no:用户将无法在设置程序的背景窗口未最大化时调整其大小。

如果WindowVisible未设置为yes,则此字段无效。

WindowVisible

yes/no,默认:no

yes:向导后面将显示一个渐变背景窗口。

WizardImageAlphaFormat

WizardImageFile

指定要显示在向导左侧的位图文件的名称。支持通配符,运行编译器时,文件必须位于安装的源目录中,除非指定了完全限定的路径名或路径名前缀为“compiler:”,在这种情况下,它会在编译器目录中查找文件。

256色位图在256色模式下可能无法正确显示,因为它不处理调色板。

当指定了多个文件时,安装程序将自动选择最符合系统DPI设置的文件。每个DPI设置的位图大小建议为:

100% 164x314

125% 192x386

150% 246x459

175% 273x556

200% 328x604

225% 355x700

250% 410x797

如果未指定,则将使用支持多个DPI设置的内置向导图像。

例如:WizardImageFile=myimage.bmp,myimage2.bmp

WizardSmallImageFile

指定要显示在向导右上角的位图文件的名称。支持通配符,运行编译器时,文件必须位于安装的源目录中,除非指定了完全限定的路径名或路径名前缀为“compiler:”,在这种情况下,它会在编译器目录中查找文件。

256色位图在256色模式下可能无法正确显示,因为它不处理调色板。

当指定了多个文件时,安装程序将自动选择最符合系统DPI设置的文件。每个DPI设置的位图大小建议为:

100% 55x55

125% 64x68

150% 83x80

175% 92x97

200% 110x106

225% 119x123

250% 138x140

如果未指定,则将使用支持多个DPI设置的内置向导图像。

例如:WizardSmallImageFile=mysmallimage.bmp,mysmallimage2.bmp

WizardStyle

classic/modern,默认:classic

classic:经典外观

modern:现代外观。即:安装程序和卸载程序将显示更现代的外观,并且WizardResizable和WizardSizePercent的默认值分别更改为yes和120120

WizardResizable

yes/no

如果WizardStyle字段设置为modern,则默认值为yes;其他为no

yes:用户可以调整安装向导窗口的大小

WizardSizePercent

格式:a,b

其中a表示水平大小,b表示竖直大小,有效值:100-150。

如果WizardStyle字段设置为modern,则默认值为120,120;否则默认值为100,100

用于增加所有安装和卸载向导窗口的默认大小,而不增加字体大小。例如120的尺寸意味着尺寸增加了20%。

如果只指定一个值,则它将同时用作水平尺寸和垂直尺寸。

WizardImageStretch

yes/no,默认:yes

yes:如果图像大于或小于所需大小,则向导图像将被拉伸或收缩。

no:如果图像大于所需,则向导图像将集中在各自的区域中,如果图像小于所需,将剪裁向导图像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值