上一页 | 目录 | 下一页

4.8 安装程序属性

4.8.1 常规属性

这些属性控制安装程序的外观和函数、包括哪个页面出现在安装程序里、在每个页面的每个部分显示什么文本、安装程序的名称、使用什么样的图标、默认安装目录、写入什么样的文件还有更多。注意这些属性可以在除了区段和函数以外的任何地方设置。

黑体并加下划线的为默认值

4.8.1.1 AddBrandingImage

(left|right|top|bottom) (width|height) [padding]

在安装程序顶部、底部、左边、右边添加一个标志图像。它的大小将由指定的宽/高、安装程序的宽/高和安装程序字体确定。最终的大小不一定就是你需要的,请看输出命令来得到实际大小。 因为这取决于安装程序字体,所以你应该在 AddBrandingImage 前使用 SetFont 。默认的填充值为 2 。

AddBrandingImage 仅增加图像到标识的位置,若要使图像以标志图像显示请使用 SetBrandingImage 命令。

AddBrandingImage left 100
AddBrandingImage right 50
AddBrandingImage top 20
AddBrandingImage bottom 35
AddBrandingImage left 100 5

4.8.1.2 AllowRootDirInstall

true|false

控制是否允许安装在驱动器根目录,或者共享网络。把它设为 'true' 可以改变这个安全行为,此安全行为可以防止用户选择 C:\或 \\Server\Share 来作为安装 (或卸载) 目录。对于另外的可定制的目录选择页面,请看 .onVerifyInstDir

4.8.1.3 AutoCloseWindow

true|false

设置当安装完成的时候窗口是否自动关闭。该属性可以不理会一个使用了 SetAutoClose 的区段。

4.8.1.4 BGFont

[font_face [height [weight] [/ITALIC] [/UNDERLINE] [/STRIKE]]]

指定用于背景渐变显示文本的字体。要设置颜色请使用 BGGradient 。如果没有指定参数,则使用默认的字体。默认字体为粗斜体的 Times New Roman 。

4.8.1.5 BGGradient

[off|(顶部颜色 底部颜色 [文本颜色|notext])]

指定是否使用一个渐变的背景窗口。如果为 'off' ,安装程序将不显示背景窗口,如果无指定参数,则使用默认的黑蓝渐变,或者指定顶部颜色或底部颜色来得到一个渐变的背景。顶部颜色和底部颜色使用 RRGGBB (十六进制,就像 HTML, 但略去了 '#',因为 # 用于注释)。你也可以指定 '文本颜色'”,该颜色会显示 'Name' 所指定的名称在左上角,或者你不需要文本时使用 'notext' 来关闭文本显示。

4.8.1.6 BrandingText

/TRIM(LEFT|RIGHT|CENTER) 文本

设置显示在安装程序窗口底部的文本(默认为 'Nullsoft Install System vX.XX')。如果设为空字符串("") 则使用默认值;设为 " " (一个空格)则显示空白。如果你不知道哪个适合你,那就保留默认值吧,这样可以使每个人知道你使用的 NSIS 版本。使用 /TRIMLEFT, /TRIMRIGHT 或 /TRIMCENTER 来裁剪控制大小到字符串大小。

接受变量。如果使用了变量,使用的变量应该在 .onInit 里被初始化。

4.8.1.7 Caption

标题

当使用一个外部的 PageEx 区块:设置安装程序标题条文本。当使用了 Name 指令指定了名称时默认为 '$(^Name) 安装'。你可以把它替换为 '我的安装程序' 或其他。如果你指定为空字符串 (""),则使用默认值(你也可以指定为 " " 来使用一个空白字符串)。

当使用一个内部的 PageEx 区块:设置当前页面的子标题。

接受变量。如果使用了变量,使用的变量应该在 .onInit 里被初始化。

4.8.1.8 ChangeUI

对话框 ui_file.exe

使用 ui_file.exe 里相同资源 ID 的一个对话框替换对话框 (IDD_LICENSE, IDD_DIR, IDD_SELCOM, IDD_INST, IDD_INSTFILES, IDD_UNINSTIDD_VERIFY)。你也可以指定 'all' 作为一个对话框,当你想从同一个 UI 文件里一次载入替换全部 7 个对话框时。 一些 UI 实例请看位于 NSIS 目录下的 Contrib\UIs 。

ChangeUI all "${NSISDIR}\Contrib\UIs\sdbarker_tiny.exe"

4.8.1.9 CheckBitmap

bitmap.bmp

指定一个位图为用于组件选择页面树形列表选择框的图像。

该位图应该为 96x16 像素大小,不能多于 8位位深(bpp) (256 色)且包括六个用于不同状态(次序为: 鼠标点击反白边缘、未选时、已选时、子区段未选时、未选且只读、已选且只读)的 16x16 图像。使用粉红色为覆盖颜色(该区域实际时为透明)。

4.8.1.10 CompletedText

文本

指定了参数时替换在安装结束时的默认文本 ("完成")。否则,使用默认值。

接受变量。如果使用了变量,使用的变量必须在文本输出之前初始化。

4.8.1.11 ComponentText

[文本 [子文本] [子文本2]]

用来更改组件选择页面的默认文本。

文本: 控件上的文本,到安装图标的右边。

子文本: 安装类型选择控件的文本。

子文本2: 安装类型选择控件下面、组件列表左边的文本。

如果字符串为空("")则使用默认文本。

接受变量。如果使用了变量,使用的变量必须在创建组件选择页面之前被初始化。

4.8.1.12 CRCCheck

on|off|force

指定安装前安装程序是否对自身执行一个 CRC 。注意,如果用户使用了 /NCRC 命令行参数,且你没有指定 'force' 参数时,不会执行 CRC ,这样有可能导致用户安装一个损坏的安装程序。

4.8.1.13 DetailsButtonText

show details text

指定参数时替换默认详细信息按钮文本 "显示详细信息",未指定参数时使用默认值。

接受变量。如果使用了变量,使用的变量必须在安装页面 (instfiles) 之前被初始化。

4.8.1.14 DirText

[文本] [子文本] [浏览按钮文本] [浏览对话框文本]

用来更改目录选择页面的默认文本。

文本: 控件上面的文本,右延至安装图标。

子文本: 在目录选择框架上的文本。

浏览按钮文本: 浏览按钮上的文本。

浏览对话框文本: 在点击 "浏览" 按钮后 "浏览目录" 对话框上的文本。

如果字符串为空("")则使用默认文本。

接受变量。如果使用了变量,使用的变量必须在创建目录选择页面之前被初始化。

4.8.1.15 DirVar

用户变量(目录输入输出)

指定用哪个变量来保存所选的目录。该变量也会保存默认值。这样可以很方便的建立两个不同的目录选择页面而不需要频繁的读取、写入 $INSTDIR 。默认的变量为 $INSTDIR 。它只能用于 PageEx 来确定目录变量和 uninstConfirm 页面。

Var ANOTHER_DIR
PageEx directory
  DirVar $ANOTHER_DIR
PageExEnd

Section
  SetOutPath $INSTDIR
  File "a file.dat"
  SetOutPath $ANOTHER_DIR
  File "another file.dat"
SectionEnd

4.8.1.16 DirVerify

auto|leave

如果使用了 `DirVerify leave' ,则当安装目录无效或磁盘空间不够用时下一步按钮将会被禁止并且你可以在离开函数里使用 GetInstDirError 来读取被设置的标记。

PageEx directory
  DirVerify leave
  PageCallbacks "" "" dirLeave
PageExEnd

4.8.1.17 FileErrorText

文件错误文本

替换当文件不能写入时显示的默认文本。该文本可以包含一个代表文件名的 $0 ($0 会被临时更改为该值)。例如: "文件 $\r$\n$0 不能写入$\r$\n祝你下次好运。"。

接受变量。如果使用了变量,使用的变量必须在使用 File 指令之前被初始化。

4.8.1.18 Icon

[路径\]图标文件.ico

设置安装程序的图标。在图标文件里的每一个图标将会被包含在安装程序里。使用 UninstallIcon 指定卸载程序的图标。[译者注: 注意,如果你添加了卸载程序,那么图标文件里的和卸载程序图标文件对应的每一个图标必须有相同的尺寸大小和颜色位深。图标文件里的次序也要匹配。例如,如果安装程序图标文件有三个图标,第一个图标为 32x32 像素 8bpp,第二个图标为 16x16 像素 8bpp,第三个图标为 8x8 像素 8bpp,那么卸载程序图标文件必须也有三个图标,且这三个图标的大小、颜色位深和次序都要相同。]

4.8.1.19 InstallButtonText

安装按钮文本

如果指定了参数,则会把默认的 ("安装") 按钮文本替换为你指定的文本。

接受变量。如果使用了变量,使用的变量必须在安装按钮显示之前被初始化。

4.8.1.20 InstallColors

/windows | (前景色 背景色)

设置安装信息屏幕颜色 (默认为 00FF00 000000)。使用 RRGGBB (十六进制,就像 HTML 那样,但略去了 '#',因为 # 用于注释)。注意如果指定了 "/windows" 作为唯一的参数,将使用默认的 Windows 颜色。

4.8.1.21 InstallDir

默认安装目录

设定默认的安装目录。查看 变量 章节得到可用于该字符串的变量 (尤其是 $PROGRAMFILES)。注意该字符串中最后一个 \ 后面的部分会被保留,当用户在安装时选择 '浏览' 并取得新的目录字符串时,该部分会自动附加在后面(要禁止该行为你需要在目录字串后面添加一个额外的 \ ,但是你要使用引号把目录字符串括起来以避免被认为是断行处理)。如果没有起作用的话,还是使用浏览按钮吧。

4.8.1.22 InstallDirRegKey

根键 子键 键名

该属性让安装程序去检测注册表里的一个字符串,如果该字符串可用那么把它用来作为安装目录。如果预置了该属性,当指定的注册表键可用时它会越过 InstallDir 指定的字符串,否则使用默认的 InstallDir 指定值。查询注册表时,该命令将自动截去引号。如果该字符串以 ".exe" ,它还会自动移去字串里的文件名部分 (即如果字符串是 "C:\program files\poop\poop.exe" ,它会知道使用 "C:\program files\poop"))。对于更多高级的安装目录配置,可在 .onInit 函数里设定 $INSTDIR 。[译者注: 事实上它还可以自动截取如 "C:\program files\poop\poop.exe" "%1" 而得到 C:\program files\poop ,这样你只要知道了某个程序关联的文件类型,就可以直接用它获得该程序的安装目录。比如 InstallDirRegKey HKCR "FlashGet.Document\shell\open\command" "" 即可获得网际快车的安装目录]

语言字串和变量不能用于 InstallDirRegKey 。

InstallDirRegKey HKLM Software\NSIS ""
InstallDirRegKey HKLM "Software\ACME\Thingy InstallLocation"

4.8.1.23 InstProgressFlags

[标记 [...]]

有效的标记值为 "smooth" (平滑进度条) 或 "colored" (把进度条着色为 InstallColors 指令设定的颜色)。例如: "InstProgressFlags" (默认 Windows 经典样式外观),"InstProgressFlags smooth" (新式平滑外观),"InstProgressFlags smooth colored" (新式平滑外观并着色)。注意:当安装程序运行在 Windows XP 且使用了新式主题时 "smooth" 或 "colored" 都不能与 XPStyle 共用。

4.8.1.24 InstType

安装类型名称 | /NOCUSTOM | /CUSTOMSTRING=字符串 | /COMPONENTSONLYONCUSTOM

把一个安装类型添加到安装类型列表里,或禁止自定义安装类型。最多可以增加到 32 类,每一个类型都需要指定安装类型名称。如果以 'un.' 作前缀那么它就是一个卸载程序安装类型。在组件页面显示之前,你可以使用在运行时需要处理的用户变量而不是难以改变的代码来作为安装类型名称,这样你可以动态的改变安装类型的名称。另一个在运行时更改 InstType 名称的方法是 InstTypeSetText 命令。 所不同的是使用 InstTypeSetText 你可以保留你自己宝贵的用户变量。第一个类型为默认类型 (通常为 '典型安装')。如果指定了 /NOCUSTOM 开关,那么 "自定义" 安装类型就会被禁止,那么用户就必须选择一个已经定义的安装类型。做为选择,如果指定了 /CUSTOMSTRING 开关,那么该开关的参数将会替代 "自定义" 安装类型文本。做为选择,如果指定了 /COMPONENTSONLYONCUSTOM 标记,那么组件列表仅在选择了 "自定义" 安装类型的时候才显示。

安装类型名称接受变量。如果使用了变量,使用的变量必须在创建组件页面之前被初始化。

4.8.1.25 LicenseBkColor

颜色 | /gray | /windows

设置许可协议数据的背景颜色。颜色使用 RRGGBB 格式(十六进制,就像 HTML 那样,但略去了 '#' ,因为 # 用于注释)。默认为 '/gray'。你也可以使用 '/windows' 来使用 Windows 操作系统定义的颜色。

4.8.1.26 LicenseData

许可文件.(txt|rtf)

指定一个用户读取许可协议的文本文件或 RTF 文件。如果没有许可协议需要显示那么可以忽略它。注意该文件必须是 DOS 文本格式 (\r\n, yeah!)。要定义多语言许可协议请使用 LicenseLangString

如果你使用 RTF 文件来显示许可协议推荐使用写字板(WordPad)来编辑而不是使用微软的 Word。使用写字板(WordPad)可以得到更小的文件。

你可以使用 LicenseLangString 来给每一种语言显示一个许可协议。

4.8.1.27 LicenseForceSelection

(checkbox [接受文本] | radiobuttons [接受文本] [拒绝文本] | \\off\\)

指定显示的许可协议是否必须被接受。可以使用单选框或互斥按钮的形式。默认情况下 "下一步" 按钮是禁止的并且只能在钩选了单选框选择了正确的互斥按钮后才可以进入下一步。如果指定了 off 则默认情况下 "下一步" 按钮是可用的。

LicenseForceSelection checkbox
LicenseForceSelection checkbox "我接受"
LicenseForceSelection radiobuttons
LicenseForceSelection radiobuttons "我接受"
LicenseForceSelection radiobuttons "我接受" "我不接受"
LicenseForceSelection radiobuttons "" "我不接受"
LicenseForceSelection off

4.8.1.28 LicenseText

[文本 [按钮文本]]

用来更改许可协议页面的默认文本。

文本: 控件上方的文本,右延至安装图标。

按钮文本: "我同意" 按钮上的文本。

如果字符串为空("")则使用默认文本。

接受变量。如果使用了变量,使用的变量必须在创建许可协议页面之前被初始化。

4.8.1.29 MiscButtonText

[上一步文本 [下一步文本] [取消按钮文本] [关闭按钮文本]]

替换这四个 (> 上一步、下一步 <、取消、关闭)。如果留空参数,将使用默认值代替。

接受变量。如果使用了变量,使用的变量必须在 un.onInit 里被初始化。

4.8.1.30 Name

名称 [双与名称]

设置安装程序的名称。名称通常用来显示产品的名称比如 '我的程序' 或 'CrapSoft 我的程序'。如果在名称里有一个或多个与符号(&),把第二个参数设为与第一个相同,有 & 的地方使用两个 & 来表示。例如你的产品名称为 "Foo & Bar",那么使用:

 Name "Foo & Bar" "Foo && Bar"

如果你的安装程序名称里有 & 符号并且对名称使用了一个 LangString ,那么你还需要创建另一个含有双& 字符的名称作为第二个参数。

接受变量。如果使用了变量,使用的变量必须在 un.onInit 里被初始化。

4.8.1.31 OutFile

[路径\]安装程序.exe

指定 MakeNSIS 要写入安装程序的输出文件。仅仅是 MakeNSIS 要写入的文件,它不会对安装程序的内容有任何影响。

4.8.1.32 RequestExecutionLevel

none|user|highest|admin

指定在 Windows Vista 下安装程序需要的执行级别。设定的级别值将被内嵌到安装/卸载程序的 XML manifest 中,告诉 Vista (或以后其他合适版本的 Windows)安装程序需要什么样的权限级别来执行。 user 只要求普通用户权限级别(不需要管理员组权限)。 highest 要求当前用户可用的最高权限级别,Windows 可能会提示输入用户密码来核实权限提升。 admin 要求管理员权限级别,同时 Windows 也会提示用户。设定为 none (缺省值),将会保持 manifest 为空并由 Windows 来判断所需执行级别。 Windows Vista 能自动识别 NSIS 安装程序并要求管理员权限来执行。因此, none and admin 实际上具有相同效果。

建议使用 RequestExecutionLevel,至少微软要求所有应用程序都应标明执行级别。未标明级别的安装程序将运行于兼容模式,(兼容模式下执行环境所在的)当前用户 "开始菜单" 文件夹中该程序的快捷方式会被自动转移到所有用户 "开始菜单" 文件夹中。如果你的安装程序不需要向系统目录安装文件或向注册表 HKLM 主键下写入键值,那么应该指定为 user 执行级别。

更多相关信息可以在 MSDN 上找到,关键字包括 "UAC", "requested execution level", "vista manifest" 和 "vista security" 。

4.8.1.33 SetFont

[/LANG=语言 ID] 字体名 字体大小

设置安装程序字体大小。请记住你选择的字体在用户的机器上也要有,不要使用只有你自己有的字体。

如果你想对每一个语言设置不同的字体,使用 /LANG 开关。例如:

 SetFont /LANG=${LANG_ENGLISH} "English Font" 9
 SetFont /LANG=${LANG_FRENCH} "French Font" 10

有两个名称为 ^Font 和 ^FontSize 的 常量语言字串包含了每种语言对应的字体和字体大小。

4.8.1.34 ShowInstDetails

\\hide|show|nevershow

设置是否显示安装详细信息。你可以设为 'hide' 来隐藏详细信息但用户可以查看,'show' 用来默认显示详细信息,或 'nevershow' 可以阻止用户查看任何信息。注意区段里可以使用 SetDetailsView 来更改它的设置。

4.8.1.35 ShowUninstDetails

hide|show|nevershow

设置是否显示卸载详细信息。你可以设为 'hide' 来隐藏详细信息但用户可以查看,'show' 用来默认显示详细信息,或 'nevershow' 可以阻止用户查看任何信息。注意区段里可以使用 SetDetailsView 来更改它的设置。

4.8.1.36 SilentInstall

normal|silent|silentlog

指定安装程序是否静默安装。如果它为 'silent' 或 'silentlog' ,所有标记为 SF_SELECTED 的区段都会被安装而不做提示(你可以使用 SectionSetFlags 来设定区段的标记),安装程序本身没有任何屏幕输出(而脚本仍可以显示某些特定的输出,使用 MessageBox 的 /SD 参数来指定静默安装时默认的返回值)。注意如果设置为 'normal' 且用户运行时使用了 /S (区分大小写)命令行参数时就相当于 SilentInstall 设置为 'silent' 一样。注意: 也可以看 LogSet

欲了解更多信息查看 section 4.12

4.8.1.37 SilentUnInstall

normal|silent

指定卸载程序是否静默安装。如果它为 'silent' ,卸载区段会被运行而不做提示,卸载程序本身没有任何屏幕输出 (而脚本仍可以显示某些特定的输出,使用 MessageBox 的 /SD 参数来指定静默安装时默认的返回值)。注意如果设置为 'normal' 且用户运行时使用了 /S (区分大小写)命令行参数时就相当于 SilentUnInstall 设置为 'silent' 一样。注意: 也可以看 LogSet

欲了解更多信息查看 section 4.12

4.8.1.38 SpaceTexts

[req text [avail text]]

如果指定了参数,将会取代安装所需空间和可用空间文本 (默认为 "所需空间: " 和 "可用空间: ")。如果指定为 'none' 则不会显示空间提示文本。

接受变量。如果使用了变量,使用的变量必须在创建组件选择页面之前被初始化。

4.8.1.39 SubCaption

[page_number subcaption]

取代每一个安装程序页面 (0=": 许可协议",1=": 安装选项",2=": 安装目录", 3=": 正在安装", 4=": 安装完成")的子标题。如果指定了空字符串 (""),将使用默认值(你也可以指定 " " 来使用一个空白字符串)。

你也可以在一个 PageEx 区块内部使用 Caption 来设置一个子标题(或取代默认值)。

接受变量。如果使用了变量,使用的变量必须在相关页面创建之前被初始化。

4.8.1.40 UninstallButtonText

文本

替换卸载程序上默认为 "卸载" 的按钮文本。如果无指定参数,将使用默认的文本。也可以差看 WriteUninstaller (替换 UninstallEXEName) 。

接受变量。如果使用了变量,使用的变量必须在卸载按钮显示之前被初始化。

4.8.1.41 UninstallCaption

标题

设置卸载程序标题条上显示的文本。 默认情况下,它为由 Name 命令指定的 '卸载名称' 。你可以取代它为 '的应用程序卸载' 或其他。 如果指定了空字符串 (""),将使用默认值(你也可以指定 " " 来使用一个空白字符串)。

接受变量。如果使用了变量,使用的变量必须在 un.onInit 里被初始化。

4.8.1.42 UninstallIcon

[路径\]图标.ico

设置卸载程序的图标。

4.8.1.43 UninstallSubCaption

页面代号 子标题

设置卸载程序页面的默认子标题 (0=": 卸载确认",1=": 正在卸载文件",2=": 卸载完成")。如果指定了空字符串 ("")(""),将使用默认值 (你也可以指定 " " 来使用一个空白字符串)。

你也可以在一个 PageEx 区块内部使用 Caption 来设置一个子标题(或替换默认值)。

接受变量,如果使用了变量,使用的变量必须在相关的页面创建之前被初始化。

4.8.1.44 UninstallText

文本 [子文本]

指定卸载程序确认页面上的文本。

文本: 控件上方的文本

子文本: 卸载定位旁边的文本

接受变量,如果使用了变量,使用的变量必须在创建卸载确认页面之前被初始化。

4.8.1.45 WindowIcon

on|off

设置是否显示安装程序的图标。.

4.8.1.46 XPStyle

on|off

设置是否把 XP 外观添加到安装程序里。当运行在 Windows XP 时一个 XP 外观使得安装程序控件使用新的 XP 样式。这个设定也会影响卸载程序。

4.8.2 编译器标记

下面的命令可以告诉编译器如何去创建代码和压缩数据。除非另有说明,否则这些命令在脚本的任何地方都有效,并且影响着该命令下的每一行(直到被另一个命令覆盖)。不能使用 流程控制指令 跳过。

例如,在下面的脚本,blah.dat 文件不会被覆盖。

${If} $0 == 0
  SetOverwrite on
${Else}
  SetOverwrite off
${EndIf}
File blah.dat # 在这 overwrite 覆盖标记总为 off !

而下面的例子才是正确覆盖。

${If} $0 == 0
  SetOverwrite on
  File blah.dat
${Else}
  SetOverwrite off
  File blah.dat
${EndIf}

4.8.2.1 AllowSkipFiles

\\on\\|off

该命令指定用户是否可以跳过文件。如果 SetOverwrite 设为 on (默认)且当安装程序打开一个文件往里边写入东西失败时一个用户可以选择跳过文件。如果使用了 off 则不会显示允许用户跳过文件的忽略按钮,这样用户只能选择退出安装程序(取消按钮)或重试打开该文件写入(重试按钮) 。如果使用了 on 则用户可以选择跳过文件(同时置一个错误标记 - 查看 SetOverwrite)。

4.8.2.2 FileBufSize

缓冲大小(单位:MB)

该命令设置编译器内部文件缓冲大小。该命令允许你通过限制一个所给的文件一次性读入内存的多少来控制编译器的内存的使用。因为编译器需要输入和输出,所以文件缓冲时需要使用两倍指定的内存大小。该命令不会限制需要另一组内存大小的压缩器缓冲,也不会限制编译器另外的内部缓冲,因为这两个缓冲正常情况下无论如何也不能达到 1MB 。指定一个很小的数字可能会降低执行效率。指定过大的数字可能会耗尽系统的资源并迫使编译器退出编译处理。该默认值为 32MB 。

4.8.2.3 SetCompress

\\auto\\|force|off

该命令设置由安装程序使用来决定数据是否应该被压缩的压缩标记。典型的 SetCompress 标记将影响它后面的命令,并且脚本文件中的最后一个 SetCompress 命令也决定了是否压缩安装信息区段和卸载数据。如果压缩标记为 'auto' ,那么仅当压缩后大小小于未压缩时文件才会被压缩。如果压缩标记为 'force' ,则始终使用压缩。如果压缩标记为 'off' ,则不使用压缩 (这样可以加快编译速度)。

注意该选项当使用了固实压缩方式后无效。

4.8.2.4 SetCompressor

[/SOLID] [/FINAL] \\zlib\\|bzip2|lzma

该命令设置了安装程序压缩文件、数据使用的压缩算法。该命令只能在区段、函数之外或在任何数据被压缩之前使用。不同的压缩方式不能在同一个安装程序里用来压缩不同的文件。建议在脚本的开始处使用这个命令来尽可能避免编译错误。

支持三种压缩方式: ZLIB, BZIP2 和 LZMA 。

ZLIB (默认) 使用压缩算法,是一个快速简单的方法。默认的压缩级别它消耗大约 300 KB 内存。

BZIP2 通常比 ZLIB 的压缩率好,但是稍微慢了一点并且内存的使用也多一点。默认的压缩级别它消耗大约 4 MB 内存。

LZMA 是一个压缩率比较理想的新式压缩方式。它的解压速度非常快(在 2 GHz 的 CPU 上能达到 10-20 MB/s 的速度),但是压缩速度很慢。解压时内存的使用量是字典的大小加上一些 KB ,默认值为 8 MB 。

如果使用了 /FINAL ,则 SetCompressor 后来的调用都会被忽略。

如果使用了 /SOLID 的话,所有的数据将被压缩在一个区块里,这样可以提高压缩率。

4.8.2.5 SetCompressorDictSize

字典大小(单位:MB)

设置使用 LZMA 压缩器时的字典大小(单位:MB) (默认为 8 MB)。

4.8.2.6 SetDatablockOptimize

\\on\\|off

该命令决定编译器是否优化数据区块。数据区块的优化首先由编译器检查要添加到数据区块的数据是否已经存在了,如果已存在,只需要简单的作为引用来添加(可以节省一点点大小)。非常强烈的推荐保留该选项为 on 。

4.8.2.7 SetDateSave

\\on\\|off

该命令设置了由 File 命令使用的文件保存日期、时间标记来决定是否保留最后上次写入文件的日期和时间,它可以在安装时储存下来。有效的开关为 'on' 和 'off'。默认为 'on' 。

4.8.2.8 SetOverwrite

\\on\\|off|try|ifnewer|ifdiff|lastused

该命令设置了由 File 命令使用的覆盖标记来决定目标文件已存在时是否覆盖。如果覆盖标记为 'on' ,则目标文件被覆盖(这个是默认值))。如果覆盖标记为 'off' ,则已存在的文件不会被覆盖。如果覆盖标记为 'try' ,文件仅当可以被覆盖时(就是说假如文件不能写入,它会自动略过而不需要用户决定)才会覆盖目标文件。如果覆盖标记为 'ifnewer' ,则仅当已存在的文件比新文件旧时才会覆盖目标文件。如果覆盖标记为 'ifdiff' 则仅当已存在的文件比新文件旧或新时才会覆盖目标文件。注意在 'ifnewer' 或 'ifdiff' 模式下,目标文件的日期都会被设为新文件的日期,而不管 SetDateSave 是怎么设置的。

SetOverwrite off
File program.cfg # 配置文件将不会被覆盖
SetOverwrite on

4.8.3 版本信息

4.8.3.1 VIAddVersionKey

 [/LANG=语言 ID] 键名 值

在文件属性的版本表格里添加一个字段。既可以是由系统提供的一个字段也可以是一个用户定义的字段。 以下的这些字段由系统提供:

这些字段名称由目标系统翻译,而用户自定义的字段则无翻译。

VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Test Application"
VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Test Application is a trademark of Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "?Fake company"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Test Application"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "1.2.3"

4.8.3.2 VIProductVersion

[版本字串_X.X.X.X]

在文件属性版本表格的顶部添加产品版本号。

VIProductVersion "1.2.3.4"

上一页 | 目录 | 下一页