注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发Delphi → 文章内容

Inno Setup 安装打包软件使用教程

作者:佚名 来源:本站整理 发布时间:2008-8-27 10:45:41
在搜索 Default.isl 文件时能很容易的发现。例如,你想要改变安装向导的按钮 “下一步(&N)” 为 “向前(&F)”,该消息的标识为“ButtonNext”,那么你应该象这样创建 [Messages] 段:

[Messages]
ButtonNext=&Forward >

有些消息带有象 %1 和 %2 这样的参数,你可以重新排列参数的顺序(例如将 %2 移到 %1 的前面)并且如果需要的话可以重复使用参数(例如“
%1 ... %1 %2”)。在带有参数的消息中,使用两个连续的“%”代替一个嵌入的“%”,“%n”创建一个换行。

如果你希望将 Inno Setup 的文本翻译成其他语言修改并替换文件 Default.isl 或在你创建的脚本里面覆盖每个消息,做一个 Default.isl 的副本并另起一个名字就像 MyTranslation.isl. 在你要使用 MyTranslation.isl 的任何安装程序中,简单的将 [Setup] 段中的关键字 MessagesFile 指向该文件。

特殊用途的标识
有几个 [Messages] 段的项实际上不是用于在屏幕上显示的,它们是用于在安装程序中指定所使用的字体和字型号的。这些可选项中的每一个都有一个前导下划线字符 (“_”) 开始,请参阅 Default.isl 文件头部的注释的使用方法示例。

[Registry] 段
这个段是可选的,他定义了一些注册表项,用于在复制完文件之后创建在用户的系统中。
下面是 [Registry] 段的一个示例。

[Registry]
Root: HKCU; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company\My Program"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
下面列出了支持的参数:

Root (必需的)

说明:
根键,必须是下列各项之一:
HKCR (HKEY_CLASSES_ROOT)
HKCU (HKEY_CURRENT_USER)
HKLM (HKEY_LOCAL_MACHINE)
HKU (HKEY_USERS)
HKCC (HKEY_CURRENT_CONFIG)

示例:
Root: HKCU
Subkey (必需的)

说明:
子键名称,可以包括常量。

示例:
Subkey: "Software\My Company\My Program"
ValueType

说明:
键值的数据类型,必须是下列各项之一:
none
string
expandsz
multisz
dword
binary
如果指定了 none (默认设置),安装程序将创建一个没有键值的键,在这种情况下将忽略 ValueName 和 ValueData 参数。
如果指定了 string,安装程序将创建一个字符串 (REG_SZ) 值。
如果指定了 expandsz,安装程序将创建一个扩展字符串 (REG_EXPAND_SZ) 值。这种数据类型主要用在 Windows NT 上,但是也支持 Windows 95/98.
如果指定了 multisz,安装程序将创建一个多行文本 (REG_MULTI_SZ) 值。
如果指定了 dword,安装程序将创建一个整数 (REG_DWORD) 值。
如果指定了 binary,安装程序将创建一个二进制 (REG_BINARY) 值。

示例:
ValueType: string
ValueName

说明:
要创建的键值的名称,可以包含常量。如果它是空的,将会写入“默认”(Default)值中。如果ValueType 参数被设置为 none, 该参数将被忽略。

示例:
ValueName: "Version"
ValueData

说明:
键值的数据。如果 ValueType 参数是 string, expandsz 或 multisz, 该参数是一个可以包含常量的字符串。如果数据类型是 dword, 该参数可以是一个十进制整数(例如“123”)或者是一个十六进制整数(例如“$7B”)。如果数据类型是 binary, 这是一个十六进制字节序列的形式:“00 ff 12 34”。如果数据类型是 none, 该参数被忽略。

对于一个 string, expandsz 或者 multisz 类型的键值,在这个参数中你可以使用一个特殊的叫做 {olddata} 的常量。{olddata} 常量代表的是注册表键值原来的数据。如果你想要添加一个字符串到一个已经存在的键值时 {olddata} 常量时很有用的,例如,{olddata};{app}.如果该键值并不存在或者不是一个字符串类型,这时 {olddata} 常量会被默默地删除。如果正要被创建的键值是 multisz 类型,但是已经存在的键值并不是多行文本 (例如它是 REG_SZ 或 REG_EXPAND_SZ )类型,这时 {olddata} 常量也会被默默地删除,反之亦然。

对于一个 multisz 类型的键值,在这个参数中你可以使用一个特殊的叫做 {break} 的常量来嵌入换行(nulls)。

示例:
ValueData: "1.0"
Flags

说明:
“标记”,这个参数是一个附加的选项集合,可以多个选项共同使用,使用空格分开多个选项。下面列出了被支持的选项:

createvalueifdoesntexist
当指定了此标记时,只有当相同名称的键值不存在时安装程序才会创建该键值。如果数据类型是 none ,或者同时指定了 deletevalue 标记将忽略该标记。

deletekey
当指定了此标记时,如果该项已存在,安装程序会首先尝试去删除它,包括其中的键值和子键,然后如果 ValueType 不是 none 的话它将创建一个新的键和键值。

deletevalue
当指定了此标记时,如果该键值已存在,安装程序会首先尝试删除该键值。然后如果 ValueType 不是 none ,并且该键不存在时它将创建该键和新的键值。

dontcreatekey
当指定了此标记时,如果该键不存在于用户的系统中安装程序将不会试图创建该键或任何键值。如果改建不存在将不显示错误消息。

典型地该标记同 uninsdeletekey 标记结合使用,以便在安装时没有创建该键时确保在卸载期间删除该键。

noerror
如果安装程序在创建键或键值时无论什么原因失败不显示错误消息。

preservestringtype
该标记只用于 ValueType 参数为 string 或 expandsz 时。当指定了此标记并且该键值不存在或者已存在的键值不是字符串类型 (REG_SZ 或 REG_EXPAND_SZ) 时,该项将由 ValueType 指定的类型创建,如果该键值存在并且是一个字符串类型,该项将由与预先存在的键值相同的上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved