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

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

作者:佚名 来源:本站整理 发布时间:2008-8-27 10:45:41


此标记不能和下列标记在一起组合使用: isreadme, regserver, regtypelib, restartreplace, sharedfile, uninsneveruninstall.

external
此标记告诉 Inno Setup 不要将由 Source 参数指定的文件编译进安装程序文件中,在复制文件的时候由发布介质或用户的系统中已经存在文件代替。要获得更多详细的信息请参见 Source 参数的说明。

fontisnttruetype
如果 FontInstall 参数指定的是一个 非 TrueType 字体则使用此标记。

isreadme
该文件是“自述(README)”文件,安装程序中只有一个文件能够使用此参数。当有一个文件使用了这个参数时,用户将被询问是否愿意在安装程序结束时查看自述文件,如果选择了是,安装程序将会根据文件的类型用默认的程序打开这个文件,基于这个原因,自述文件应该具有象 .txt, .wri 或 .doc. 这样的扩展名。

注意如果安装程序要重新启动用户的计算机(比如安装了一个带有 restartreplace 参数的文件或在 [Setup] 段中的 AlwaysRestart
关键字的值为 yes),安装程序就不会向用户询问是否要查看自述文件。

overwritereadonly
始终覆盖一个只读 (read-only) 文件,如果没有这个参数,当一个已存在的只读文件要被覆盖时安装程序将会询问用户。

regserver
注册 OLE 服务器 (或称作 ActiveX 控件)。如果设置了此标记,安装程序将查找并执行 DLL/OCX 的 DllRegisterServer 输出,卸载程序调用 DllUnregisterServer. 当结合 sharedfile 标记一起使用,只有参照技术器的值归零时 DLL/OCX 才可能百取消登记 (unregistered).

要获得更多的详细信息请参见此标题最后的 注意。

regtypelib
注册类型库 (.tlb). 卸载程序将会取消注册类型库 (除非指定了 uninsneveruninstall 标记). 就像 regserver 标记那样,如果结合 sharedfile 标记一起使用,这个文件只有参照计数器的值归零时才可能被卸载。

要获得更多的详细信息请参见此标题最后的 注意。

restartreplace
此标记通常用于替换系统核心文件。如果文件已经预先存在并发现它已经被锁定结果导致安装程序无法替换该文件,安装程序就会注册此文件(对于 Windows 和 Windows NT 分别使用 WININIT.INI 和函数 MoveFileEx)在下次启动系统时被替换。当遇到这种情况,在安装过程结束时用户将被提示重新启动计算机。

要保持 Windows95/98 和 3.1 的兼容性,使用了此标记的项不应该使用长文件名,只能支持“8.3”格式的文件名。(Windows NT 和 2000 则没有此限制。)

重要提示:在 Windows NT/2000 下只有当用户具有管理员权限时使用 restartreplace 标记才可以成功的替换使用中的文件。如果用户没有管理员权限,将会显示如下的信息:“RestartReplace failed: MoveFileEx failed; code 5.”,因此,当使用 restartreplace 标记时强烈建议让你的安装程序需要管理员权限,在 [Setup] 段里面设置 "AdminPrivilegesRequired=1"。

sharedfile
(仅 Windows 95/NT 4+) 使用 Windows 的共享文件计数功能 (位于注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs). 这样会使应用程序之间能够共享一个文件,不用担心在不注意的情况下会删除文件。在每次安装共享文件的时候,与这个文件相对应的“参照计数器”的值就会加一,而每次应用程序被卸载的时候,参照计数器的值就会减一,如果参照计数器的值归零的时候,该共享文件就会被删除(在用户确认的情况下)。

绝大多数被安装到 Windows 系统目录下的文件都应当使用这个标记,包括 .OCX 和 .DPL (Delphi 3 package) 文件。不使用这个标记的仅有的一个例外是 MFC DLLs. 作为替代,应该在复制模式中使用 onlyifdoesntexist ,并结合 uninsneveruninstall 标记,或者是如果安装单独发布的 MFC DLL 的最近的版本,则使用复制模式 alwaysskipifsameorolder ,并结合使用标记 uninsneveruninstall 和 restartreplace.

当安装程序被运行在一个 NT 3.51 系统时,被安装的带有此标记的文件就再也不会被删除了。

skipifsourcedoesntexist
只有当 external 标记也使用了的时候这个标记才会有用。它会告诉安装程序如果源文件不存在的话则无任何提示的(静静的)跳过该项,如果没有使用这个标记则会显示一个错误消息。

uninsneveruninstall
从来不会卸载这个文件。此标记应当被保守地使用,而且通常它是和复制模式 onlyifdoesntexist 在一起结合使用。意思是用于安装一个特别公共的共享文件,就像 CTL3DV2.DLL 或者一个 MFC DLL, 你不应该用卸载程序去删除这个文件的原因是以后其它的应用程序也要使用到它。

示例:
Flags: isreadme
公共参数

注意

如果安装程序正在安装一个已经存在于用户的系统当中的 16 位的 DLL 或者 EXE 文件,两个文件的版本信息是不会相比较的,已存在的文件将始终被覆盖(除非当复制模式的参数是 onlyifdoesntexist),这是由一个 Windows 的限制决定的,32 位的程序就像 Inno Setup 只能读取 32 位可执行文件的版本信息。

在安装程序的最后一步安装程序会注册所有的带有 regserver 或 regtypelib 标记的文件。然而,如果 [Setup] 段关键字 AlwaysRestart 的值是 yes, 或如果有文件带有 restartreplace 标记,全部的文件将会在下次启动的时候注册(在 Windows 注册表的 RunOnce 创建一项)。

当带有 .HLP 扩展名(Windows 的帮助文件)的文件被卸载的时候,其对应的 .GID 和 .FTS 文件同样会被自动删除。

[Icons] 段
这个段是可选的,但对于大多数安装程序来说是必不可少的。它定义了所有的安装程序要在用户系统中创建的程序管理器/开始菜单的图标。它也能被用来在其它的位置创建应用程序图标(快捷方式),比如就像桌面。
卸载图标是由安装程序内部创建的,这样一来你就不需要在 [Icons] 段里面手工的添加它。默认情况下,安装程序运行在 Windows 95/NT 4+ 的时候是不创建卸载图标的 ――除了安装程序运行于 Windows NT 3.51 的时候。 要强制创建一个卸载图标,请使用 [Setup] 段里面的 AlwaysCreateUninstallIcon 关键字。

这是 [Icons]上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]  下一页


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