77范文网 - 专业文章范例文档资料分享平台

Inno Setup使用教程(4)

来源:网络收集 时间:2020-05-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

[Files]

Source: \Flags: uninsneveruninstall

Source: \Source: \

Source: \下面列出了支持的参数: Source (必需的)

说明:

“源文件”的名称,如果没有提供全程路径时编译器会根据安装程序的源目录的路径预先设定号路径。

允许通配符,根据通配符可以在一项里面简单的指定一组文件。当 使用了通配符的时候,所有匹配的文件使用相同的可选项。

当标记(flag) external 被指定的时候,Source 必须是一个在发布介质或用户的系统中已经存在的文件(或带有通配符)的全程路径。(例如“{src}\\license.ini”). 示例:

Source: \DestDir (必需的)

说明:

这个是文件将要被安装到用户的系统当中去的目录。它几乎总是以一个目录常量开始的。如果指定的路径不存在于用户的系统中,它将会被自动的创建。 示例:

DestDir: \DestName

说明:

这个常数为将要安装到用户的系统中的文件指定一个新的名字。在默认的情况下,安装程序使用的是同 Source 参数一样的文件名,因此在多数情况下不需要指定该参数。

示例:

DestName: \CopyMode 默认: normal

说明:

“复制模式”,指定文件复制的规则,必须是下列规则之一。

normal

这是最常使用的选项。如果文件已经存在于用户的系统当中并且比要复制的文件的版本更新时(由文件的版本信息决定),安装程序将会向用户提出询问是否要替换 掉已经存在的文件。如果已经存在的文件不包含文件的版本信息,它将会被覆盖而不会向用户询问。

参见这个标题下面的注意中关于版本检查的重要说明。 onlyifdoesntexist

只有当用户的系统中的文件不存在时才复制文件。

alwaysoverwrite

总是覆盖已经存在的文件,甚至如果已经存在的文件比被安装的文件的版本更新的情况下也是如此。对于共享的系统文件永远也不要这样做!

alwaysskipifsameorolder

类似于 normal, 不同之处是如果遇到已经存在的文件不会向用户提出询问。当这个模式被使用时,更新的一经存在的文件时从来不会被替换的。 示例:

CopyMode: normal Attribs

说明:

为文件指定附加的“属性”,它可以包括一个或多个属性,它们是:readonly, hidden, system. 如果没有指定这个参数,安装程序不会给文件指派任何特殊的属性。

示例:

Attribs: hidden system FontInstall

说明:

告诉安装程序需要被安装的文件是一个字体文件,该值是被保存到注册表或 WIN.INI 文件中的字体名称,这个名称必须严格地和在资源管理器中双击字体文件看到的名称相对应。注意,安装程序会自动的在字体名称的末尾加上 “(TrueType)”。

如果这个字体文件不是一个 TrueType 字体,你必须在 Flags 参数中指定 fontisnttruetype 标记。

建议在安装字体到 {fonts} 目录的时候使用复制模式参数 onlyifdoesntexist 和标记(flag)参数 uninsneveruninstall.

示例:

Source: \DestDir: \FontInstall: \Handicraft BT\Flags

说明:

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

comparetimestampalso

(专门用途) 如果要被复制到用户系统的文件已经存在于用户的系统当中并且它们具有相同的版本信息,告诉安装程序进行时间戳(文件的日期时间属性)的比较。 在正常情况下安装程序不会覆盖已经存在的文件,但是当使用了这个标记的时候, 如果已存在的文件的时间戳比它的版本信息还要旧,安装程序在安装文件时就会覆盖它。当复制模式不是 normal 或 alwaysskipifsameorolder 这两者之一时该标记不起作用。

confirmoverwrite

当文件已经存在每个文件在复制之前始终向用户提出询问。

deleteafterinstall

告诉安装程序象平常一样复制文件,但是当安装程序结束(或被中止)之后将这个文件删除。如果释放脚本的 [Run] 段所执行的程序所需要的临时的数据时这个选项是很有用的。

此标记不能和下列标记在一起组合使用: 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] 段里面设置 \。

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] 段

这个段是可选的,但对于大多数安装程序来说是必不可少的。它定义了所有的安

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Inno Setup使用教程(4)在线全文阅读。

Inno Setup使用教程(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1054206.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: