当前位置:首页 > 07 InstallShield内部库函数全集七-组件函数(中文版)
-142
媒体或组件的口令没有被确认。
在用ComponentMoveData传输那些组件前没有调用ComponentValidate来验证组件和/或文件媒体库。 -145
组件的目标路径没有找到。
一个脚本定义的文件的目标目录没有被设置或是无效的。增加或改正对ComponentSetTarget的调用;然后重建。 -147
传递无效值给一个组件有关函数。
传递给一个组件有关函数的一个值无效。例如,传递一个空字符串给ComponentAddItem函数的第二个参数可以引起该错误。 -148
数据不能从互联网读得。
当使用InstallFromTheWeb与InstallShield5连接时发生该错误。由于文件被破坏或Internet连接丢失并且不能通过InstallFromTheWeb重新建立连接,InstallShield不能从Internet读取数据 -149
Internet已经被断开。
当使用InstallFromTheWeb与InstallShield5连接时发生该错误。Internet连接已经丢失并且不能通过InstallFromTheWeb重新建立连接。 -150
cab文件(.cab)由InstallShield5的旧版本生成。
确保工程是由你的InstallShield5最新版本建立的。确保你不在使用由InstallShield5的不同版
本生成的不匹配的cab文件(.cab)。 -620
第三方(third-party)外壳程序错误
咨询有问题的外、外壳程序的有关文档来确定它是否是100%兹容的开发人员外壳程序。 -623
重命名文件错误。
没有将Potentially Locked属性设置为Yes时,试图传递一个可执行文件(一个.exe或.cm文件)。 返回值:
0:ComponentError成功。 < 0:ComponentError失败。 7.5 ComponentFilterLanguage
语法:ComponentFilterLanguage(szMediaLibrary, nLangID, bFiltered);
说明:ComponentFilterLanguage函数从基于语言的文件传输中筛选(排除)文件。缺省时,包含在媒体库中的所有语言都是不筛选的(包含的)。给参数nLangID使用的语言ID选项不能用按位或操作(|)联接。你必须为你所希望筛选或不筛选的每个语言都调用ComponentFilterLanguage。
当安装程序第一次运行时所做的任何筛选在一个维护安装程序中也必须做。确定在初始安装和维护安装过程中被执行的代码中都调用该函数。不要从下列事件处理程序中调用该函数:OnAppSearch, OnCCPSearch, OnFirstUIBefore, OnFirstUIAfter, OnMaintUIBefore, or OnMaintUIAfter。
在安装过程中,筛选语言具体文件组的最简单的方法如下所示:
通过调用ComponentFilterLanguage(参数nLangID为ISLANG_ALL,参数bFilter设置为TRUE时)来筛选(排除)所有语言。
对每个你要安装的语言,都需在nLangID设置为合适的语言常量并且参数bFiltered设置为FALSE时调用ComponentFilterLanguage。每个调用将不筛选(包含)nLangID指定的语言的文件组。
你不能通过或操作(|)在参数nLangID位置指定多个语言常量。指定多个语言常量将导致函数执行不正确。
当使用ComponentFilterLanguage时,记住在程序块前加入#include “Sdlang.h”。如果你使用由工程向导生成的Setup.rul,该行已经为你包括在里面了。 该函数不能工作于脚本创建的组件组。 参数: szMediaLibrary
指定文件媒体库的媒体名。 nLangID
指定要筛选或不筛选的语言的ID。注意对每次函数调用仅能指定一个语言常量。为筛选所有语言,给该参数传递ISLANG_ALL。 bFiltered
指定是否筛选(排除)或不筛选(包含)nLangID指定的语言。在该参数位置传递下列预定义常量之一:
TRUE:筛选nLangID指定的语言;也就是,在文件传输中不包含它。 FALSE:不筛选nLangID指定的语言;也就是,在文件传输中包含它。 返回值:
0:ComponentFilterLanguage成功。 < 0:ComponentFilterLanguage失败。 注解:
·当将该函数与GetSystemInfo函数一起使用时,你必须考虑下列情况:被用来指定语言特定
文件组的语言常量只是可以由GetSystemInfo返回的语言常量的一个小的子集。
·如果你的安装包含基于这些返回值的语言筛选,你必须使用一个switch语句来转换由该函数返回的常量为支持语言筛选的常量之一。
·任何InstallShield版本将允许你指定任何语言的文件组或由Windows支持的子语言;然而,对一个由媒体向导建立的语言具体文件组,你使用的InstallShield版本必须支持该文件组的语言。你的安装必须也支持文件组的语言。
·如果你的安装包含语言具体文件组,它被具体指定到一个不被你正使用的InstallShield或你的安装支持的语言,文件组将被媒体向导筛选(不包含)。 7.6 ComponentFilterOS
语法:ComponentFilterOS (szMediaLibrary, nUpperOS, nLowerOS, bFiltered);
说明:ComponentFilterOS函数筛选标志为指定操作系统的文件组。缺省时,不筛选操作系统。该函数不能使用到脚本创建的组件组。
安装初次运行时的任何筛选在一个维护安装时也必须做。确认在初始和维护安装中执行的代码中都调用了该函数。不要从下列事件处理程序中调用该函数:OnAppSearch, OnCCPSearch, OnFirstUIBefore, OnFirstUIAfter, OnMaintUIBefore, 或 OnMaintUIAfter。 参数: szMediaLibrary
指定文件媒体库的媒体名。 nUpperOS
指定一个64位操作系统标识符域的高32位。目前,nUpperOs没有被使用。给该参数传递0。不允许其它值。 nLowerOS
指定一个64位操作系统标识符域的低32位。nLowerOS指定你希望筛选的操作系统。你可以使用按位或操作符(|)将值组合。
共分享92篇相关文档