打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
InstallShield内部库函数之注册表函数(二)

InstallationInfo
语法:InstallationInfo (szCompany, szProduct, szVersion, szProductKey);
说明:InstallationInfo函数指定一个公司名,一个产品名,一个产品版本号和一个程序可执行文件名。你指定的信息被用来为你安装的程序创建一个应用程序信息项和一个每应用程序路径项。应用程序信息项作为调用InstallationInfo的结果立即被创建。每应用程序路径项则直到随后调用RegDBSetItem设置该项下的一个[Path] 或 [DefaultPath]值后才被创建。
InstallationInfo提供显示在欢迎对话框中的产品名。InstallationInfo提供DeinstallStart使用来初始化卸载日志文件的公司名,产品名和版本号。如果脚本中在DeinstallStart 之前没有调用InstallationInfo,则DeinstallStart将失败。
在一个安装中只能调用InstallationInfo一次。如果你运行多个使用DoInstall的安装,每个安装当然可以有它自己的对InstallationInfo的调用。
InstallationInfo是一个特殊的注册表相关函数,被设计来处理特定的预定义注册表项。
参数:
szCompany
指定公司名。InstallShield使用szCompony来在注册表中的[HKEY_LOCAL_MACHINE] \Software项下创建一个\<company>项。
szProduct
指定要被安装的产品名。InstallShield使用szProduct来在注册表中的[HKEY_LOCAL_ MACHINE]\Software\<company>项下创建一个\<product>项。SzProduct的值也被插入到欢迎对话框中的消息文本的第一段中。
szVersion
指定产品的版本号。InstallShield使用szVersiont来在注册表中的[HKEY_LOCAL_MACHINE] \Software\<company>\<product>项下创建一个\<version>项。合在一起,\<company>项 (szCompany), \<product> 项(szProduct), 和\<version> 项(szVersion)被指定为应用程序信息项。应用程序信息项在调用InstallationInfo时立即被创建。
szProductKey
应用程序的主可执行文件的文件名。如果你使用几个可执行文件,指定最能代表产品的可执行文件。InstallShield 使用szProductKey来在项[HKEY_LOCAL_MACHINE]\Software \Microsoft\Windows\CurrentVersion\App Paths下创建一个每应用程序路径项。每应用程序路径项知道你调用RegDBSetItem创建该项下的一个数值名和数值数对后才真正在注册表中被创建。
返回值:
0:表明函数成功。
< 0:表明函数未能如设置那样使用参数。确认你使用了正确的语法。该函数的任何参数都不允许空字符串。
注解:
·你必须在调用下列函数之前调用InstallationInfo,因为它们使用InstallationInfo提供的信息:RegDBSetAppInfo, RegDBGetAppInfo, RegDBSetItem, RegDBGetItem。更多信息请查看这些函数的说明。
·由传递给InstallationInfo的值指定的每应用程序路径项直到调用RegDBSetItem设置该项下的值之后才真正被创建。

MaintenanceStart
语法:MaintenanceStart ( );
说明:MaintenanceStart函数创建在维护安装或卸载的初始化过程中使用的一个注册表项和相应值,并为添加/删除程序对话框提供应用程序信息。如果你使用一个基于事件的脚本,MaintenanceStart在First UI Before事件后被自动调用。
MaintenanceStart在注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Uninstall\<PRODUCT_GUID>下创建下列值:
UninstallString 系统变量UNINSTALL_STRING的值。
DisplayName 传递给SetInstallationInfo 或 InstallationInfo的第二个参数的值。
(SetInstallationInfo函数在Begin事件之前被自动调用,它的第二个参数等于PRODUCT_NAME字符串表入口。)
LogFile <DISK1TARGET>\Setup.ilg
参数:
无。
返回值:
0:表明函数成功创建注册表项和它相应值。
< 0:表明函数未能创建注册表项和它相应值。

RegDBConnectRegistry
语法:RegDBConnectRegistry (szRemoteSystem, nKeyType, nReserved);
说明:RegDBConnectRegistry函数创建一个到一个远程注册表的连接。如果你试图打开一个远程Windows NT 系统的注册表,你必须拥有管理员的特权。如果你试图打开一个远程Windows 95 和更高的系统的注册表,则必须已经激活了远程管理。该函数是给系统管理员使用来进行网络安装的。
一旦你已经打开了连接,你可以象对一个本地注册表一样对一个远程注册表进行创建、删除或检索注册表项、数值名和数值对。RegDBConnectRegistry允许你每次打开远程注册表时只编辑一个注册表开关键,你只可以编辑HKEY_LOCAL_MACHINE 或 HKEY_USERS下的项和值。当你调用RegDBConnectRegistry时,你必须指定你希望能编辑哪个开关键。如果你想要编辑另一个开关键或它的一个子项,你必须关闭并重新打开该连接。
为编辑一个远程注册表,你必须只使用通用注册表相关函数(如下所列),它们被设计为可以处理所有注册表项:
RegDBCreateKeyEx、RegDBDeleteKey、RegDBDeleteValue、RegDBGetKeyValueEx
RegDBKeyExist、RegDBQueryKey、RegDBSetKeyValueEx
参数:
szRemoteSystem
指定要连接的系统名,如"RemoteSys"。
nKeyType
指定下列常量之一:
HKEY_LOCAL_MACHINE 或 HKEY_USERS.
nReserved
给该参数传递0。不允许其它值。
返回值:
0:表明函数成功建立一个到系统注册表的连接。
REGDB_ERR_CONNECTIONEXISTS (-6):一个到一个远程注册表的连接早已存在。在你再次调用RegDBConnectRegistry之前必须用RegDBDisConnectRegistry关闭它。
REGDB_ERR_CORRUPTEDREGISTRY (-4):表明远程注册表被破坏,不能被访问。
REGDB_ERR_INITIALIZATION (-2):表明注册表服务不能被初始化。确认远程管理已经被激活并且你有可以写注册表的适当特权。
REGDB_ERR_INVALIDHANDLE (-5):提供给远程注册表的项名不被允许。
REGDB_ERR_INVALIDNAME (-3):表明在szRemoteSystem中的系统不能被找到。检查名称并重试。
-1:其它错误。
注解:
·自从你通过调用RegDBConnectRegistry设置了开关键,一旦你已经建立了一个到远程注册表的连接,你就不能调用RegDBSetDefaultRoot。一旦你已经调用了RegDBDisConnectRegistry,所有对注册表相关函数的调用都会影响本地注册表,并且然后你可以调用RegDBSetDefaultRoot来修改开关键。
·在一个卸载中,InstallShield将卸载为存入卸载记录中的任何项下的所有项。由InstallShield自动创建的项将为存入卸载记录。当你调用RegDBSetKeyValueEx创建项,在这些项以上没有存入卸载记录的项,你的项不会被卸载掉,不管存入是否被激活(你可以Enable和Disable登记)。然而,当你调用RegDBCreateKeyEx来创建一个项,当存入被激活时,该项上没有存入卸载记录的项,你的项会存入卸载记录。当存入项被删除时,你创建在该项下的所有项会被卸载。更多信息可查询各个函数的说明。

RegDBCreateKeyEx
语法:RegDBCreateKeyEx (szKey, szClass);
说明:RegDBCreateKeyEx函数创建注册表中的一项。你也可以将一个类对象和新创建的项联系起来(仅对高级用户)。新创建的项没有一个和它相联系的值。除非你另外指定,InstallShield将该项创建为HKEY_CLASSES_ROOT的子项。你可以使用RegDBSetDefaultRoot来指定一个不同的开关键。
在一个项-子项表达式中用一个双反斜杠来分隔不同层。如果它们不存在时,InstallShield将立即创建所有层。
  当存入功能被激活时,由RegDBCreateKeyEx创建的项存入卸载记录。然而,记住在一个多项表达式如Key1\Key2\Key3中,RegDBCreateKeyEx识别Key3为该函数调用所关系的项。如DOS命令DIR C:\Windows\System列出 Windows系统文件夹中的文件,而不是Windows文件夹中的。因此,Key3将被存入到卸载记录,但Key1和Key2不会。有关Windows 系统文件夹的信息,请查阅InstallShield 系统变量WINSYSDIR的文档。
  为在RegDBCreateKeyEx创建一个项和子项时确保正确地存入卸载记录,首先创建父项(存入功能激活时)。当项的链中父项或高层项被创建后,然后创建父项下的子项。被各自创建的父项的下面所有子项当父项被卸载时也会被卸载。
例如,为确保Key1和所有它的子项会被卸载,首先当存入被激活时用RegDBCreateKeyEx创建Key1。然后你可以在一个单独的函数调用中或在各自的函数调用中创建Key2,Key3等等项。当Key1被卸载,它下面的所有子项将被卸载。
  记住当一个项被卸载时,它的所有子项也被卸载。因此,如果你使用RegDBCreateKeyEx来创建一个已经被存入卸载记录的项下的项,那么当更高层的项被卸载时你所创建的项也被卸载,不管当你创建你的项时存入功能是否被激活,也不管你以什么次序创建你的项。
  如果你正用RegDBCreateKeyE创建的项已经存在并且你没有禁用存入功能,则其它应用程序使用的项将被存入卸载记录。在一个卸载过程中,该项将被卸载,这给那些使用该项的应用程序造成问题。为避免该问题,在创建一个项前用RegDBKeyExist来检测它的存在性。如果该项已经存在,使用RegDBCreateKeyEx来创建一个对你的应用程序唯一的子项。然后,当卸载发生时,只有子项被删除。如果你不希望首先检测项的存在性,当你创建该项时,你可以使用Disable函数来禁用存入功能。在项被创建后再激活存入功能。然而,记住该项不会和你的应用程序一个被卸载。
RegDBCreateKeyEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szKey
指定要在四个开关键中的一个之下创建的项的名称。用一个双反斜杠来分隔子项中的不同层。
szClass
指定和该项相联系的类名。
返回值:
0:表明函数成功创建该子项。
< 0:表明函数未能创建该子项。
注解:
·Windows NT 4.0不允许在HKEY_LOCAL_MACHINE下直接创建一个项。

RegDBDeleteKey
语法:RegDBDeleteKey (szSubKey);
说明:RegDBDeleteKey函数从注册表中删除一个特定项和与它相联系的值。被删除项的所有子项及与它们相联系的值也被删除。
InstallShield假定由szSubKey指定的项是HKEY_CLASSES_ROOT的一个子项。你可以使用RegDBSetDefaultRoot来指定另一个开关键。
RegDBDeleteKey是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szSubKey
指定要删除的项的名称。用一个双反斜杠来分隔子项中的不同层。
返回值:
0:表明函数成功删除该项。
< 0:表明函数未能删除该项。

RegDBDeleteValue
语法:RegDBDeleteValue (szSubKey, szValue);
说明:RegDBDeleteValue函数从一个注册表的一个特定项中删除一个值。InstallShield假定由szSubKey指定的项是HKEY_CLASSES_ROOT的一个子项。你可以使用RegDBSetDefaultRoot来指定另一个开关键。
参数:
szSubKey
指定注册表项的名称,该项包含要删除的值名。用一个双反斜杠来分隔子项中的不同层。
szValue
指定你要删除的值的名称。
返回值:
0:表明函数成功删除该值。
< 0:表明函数未能删除该值。

RegDBDisConnectRegistry
语法:RegDBDisConnectRegistry (nReserved);
说明:RegDBDisConnectRegistry函数关闭调用RegDBConnectRegistry建立的到一个远程注册表的一个连接。
调用RegDBDisConnectRegistry后,所有对安装脚本注册表相关函数的调用都会影响本地系统注册表。更多信息请查阅特殊注册表相关函数。
参数:
nReserved
给该参数传递0。不允许其它值。
返回值:
0:表明函数成功关闭一个到远程系统上的注册表的连接。
< 0:表明函数未能关闭注册表连接。

RegDBGetAppInfo
语法:RegDBGetAppInfo (szName, nvType, svValue, nvSize);
说明:RegDBGetAppInfo函数从注册表中检索你的主应用程序的应用程序信息项下的一个特定数值名的值。应用程序信息项由InstallShield创建,作为调用InstallationInfo的结果。在调用RegDBGetAppInfo之前,你必须调用InstallationInfo来创建一个应用程序信息项。
RegDBGetAppInfo是一个特殊的注册表相关函数,被设计来处理特定的预定义注册表项。
参数:
szName
指定要检索的值的数值名。
nvType
返回下列预定义常量之一,它们标识在svValue返回的数据的类型:
REGDB_STRING:字符串变量,不允许换行符。
REGDB_STRING_EXPAND:字符串变量保持一种可扩展的环境变量表达式,如"%MYPATH%"。
REGDB_STRING_MULTI:字符串变量,允许换行符。
REGDB_NUMBER:看作为一个字符串的数字表达式,并可传递给字符串变量。
REGDB_BINARY:将二进制数据保存在一个字符串中。
svValue
返回由szName指定的数值名的值。
nvSize
以字节数返回返回值的大小。
返回值:
0:表明函数成功检索该值。
< 0:表明函数未能检索该值。

RegDBGetItem
语法:RegDBGetItem (nItem, svValue);
说明:RegDBGetItem函数根据nItem的值检索每应用程序路径项或应用程序卸载项下的值。这些项InstallShield 创建,作为调用InstallationInfo的结果。在调用RegDBGetItem之前,你必须调用InstallationInfo来创建一个应用程序信息项。
RegDBGetItem是一个特殊的注册表相关函数,被设计来处理特定的预定义注册表项。
参数:
nItem
指定要检索的项。在该参数位置传递下列预定义常量之一:
REGDB_APPPATH:每应用程序路径项下[Path]的值。
REGDB_APPPATH_DEFAULT:每应用程序路径项下[DefaultPath]的值。
REGDB_UNINSTALL_NAME:卸载项下[DisplayName]的值。当该常量被使用时,szValue指定显示在控制面板中可卸载应用程序列表中的应用程序名。
svValue
返回该项的值。
返回值:
0:表明函数成功检索该项目的值。
< 0:表明函数未能检索该项目的值。确认你在使用该函数之前使用了InstallationInfo函数。
注解:
·在调用RegDBGetItem函数(nItem为REGDB_APPPATH 或 REGDB_APPPATH_DEFAULT选项)前,你必须用InstallationInfo函数创建每应用程序路径项。在调用RegDBGetItem函数(nItem为REGBD_UNINSTALL_NAME)前,你必须调用DeinstallStart函数来创建卸载项,并给应用程序卸载项下的[DisplayName]赋一个值。

RegDBGetKeyValueEx
语法:RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);
说明:RegDBGetKeyValueEx函数检索注册表中一个指定项下一个特定数值名的值。缺省时,InstallShield假定该项是HKEY_CLASSES_ROOT下的一个子项。你可以用RegDBSetDefaultRoot来指定另一个开关键。
RegDBGetKeyValueEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szKey
指定其值要被检索的项的名称。用一个双反斜杠来分隔子项中的不同层。
szName
指定在szKey下其值要被检索的数值的数值名。要检索项的缺省值,则传递一个空字符串。
nvType
返回下列预定义常量之一,它们标识在svValue返回的数据的类型:
请参阅15.12中该部分的说明。
svValue
返回由szKey和svName 指定的值。注意一个数值型值以一个字符串返回。
nvSize
以字节数返回在svValue返回的值的大小。
返回值:
0:表明函数成功检索该值。
< 0:表明函数未能检索该值。
注解:
一个Windows NT平台上,当检索REGDB_STRING_MULTI数据类型时,带空字符串为参数调用StrGetTokens来将多个以空字符串为中止的字符串分析到一个字符串列表。也就是,如果svValue在调用RegDBGetKeyValueEx后有多个结果字符串,StrGetTokens( listID, svValue, "")可以被使用来分析字符串并把它们放到一个由listID指向的字符串列表。

RegDBKeyExist
语法:RegDBKeyExist (szSubKey);
说明:RegDBKeyExist函数检测注册表中一个特定项的存在性。缺省时,InstallShield假定该项是HKEY_CLASSES_ROOT下的一个子项。你可以用RegDBSetDefaultRoot来指定另一个开关键。
RegDBKeyExist是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szSubKey
指定要查找的项的名称。你不必要在该参数包括HKEY_CLASSES_ROOT项(或你指定的其它项)。用一个双反斜杠来分隔子项的不同层。
返回值:
1:表明函数成功找到注册表中的项。
< 0:表明函数未能找到注册表中的项。

RegDBQueryKey
语法:RegDBQueryKey (szSubKey, nItem, listResults);
说明:RegDBQueryKey函数允许用户排队一个项的子项和值名。使用该函数可以在运行时动态列举这些项。
RegDBQueryKey是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szSubKey
指定先前调用RegDBSetDefaultRoot设置的开关键中某一个的子项。使用反斜杠来指定子项的更深层。为检索开关键,传递一个空字符串。
nItem
指定必须被放置在列表中的项目。在该参数位置传递下列预定义常量之一:
REGDB_KEYS:在listResult 返回的字符串列表将包含一个该项下的所有子项的列表。
REGDB_NAMES:在listResult 返回的字符串列表将包含该项的所有命名值的名。
listResults
返回在一个字符串列表中排队的结果。由listResult标识的列表必须已经通过调用ListCreat而被初始化。
返回值:
0:表明函数成功。
< 0:表明函数失败。

RegDBSetAppInfo
语法:RegDBSetAppInfo (szName, nType, szValue, nSize);
说明:RegDBSetAppInfo函数设置注册表中应用程序信息项下的一个特定数值名的值。你在调用RegDBSetAppInfo前必须调用InstallationInfo来创建一个应用程序信息项。
RegDBSetAppInfo是一个特殊的注册表相关函数,被设计来处理特定的预定义注册表项。
参数:
szName
指定其信息要被设置的数值名。
nType
指定你要设置的数据的类型,在该参数位置传递下列预定义常量之一:
请参阅15.12中该部分的说明。
szValue
指定为数值名设置的值。
nSize
以字节数返回传递给RegDBSetAppInfo的数据的大小。给该参数传递-1来表明InstallShield应该确定该数据的大小。
返回值:
0:表明函数成功给数值名赋值。
< 0:表明函数未能赋值。

RegDBSetDefaultRoot
语法: RegDBSetDefaultRoot (nRootKey);
说明:RegDBSetDefaultRoot函数设置一个被其它注册表函数使用的开关键。大多数InstallShield注册表函数工作在以HKEY_CLASSES_ROOT为注册表树的缺省根。使用该函数,你可以指定另一个项,如HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER 或 HKEY_USERS为开关键。
RegDBGetKeyValueEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
你可以使用RegDBSetDefaultRoot来修改使用特殊注册表相关函数创建或处理项的开关键。
参数:
nRootKey
指定设置为开关键的项的名。
返回值:
0:表明函数成功设置项。
< 0:表明函数未能设置项。
注解:
·Windows NT 4.0不允许在HKEY_LOCAL_MACHINE下直接创建一个项。

RegDBSetItem
语法:RegDBSetItem (nItem, szValue);
说明:RegDBSetItem函数给每应用程序路径项或应用程序卸载项下赋值,根据nItem的值而定。以REGDB_APPPATH或 REGDB_APPPATH_DEFAULT选项调用RegDBSetItem则结果创建每应用程序路径项。注意你必须在调用RegDBSetItem之前调用InstallationInfo来创建这些项。
RegDBSetItem是一个特殊的注册表相关函数,被设计来处理特定的预定义注册表项。
参数:
nItem
指定要设置的项目(条目)。在该参数位置传递下列预定义常量之一:
REGDB_APPPATH:在每应用程序路径项下的[Path]值。
REGDB_APPPATH_DEFAULT:在每应用程序路径项下的[DefaultPath]值。
REGDB_UNINSTALL_NAME:卸载项下的[DisplayName]值。当使用该常量时,szValue指定在控制面板中卸载应用程序列表中的显示的应用程序名。
szValue
指定赋给指定项目的值。
返回值:
0:表明函数成功设置值。
< 0:表明函数失败。最通常的失败原因是没有前调用InstallationInfo函数。该函数只有在你调用InstallationInfo后才能被执行。
注解:
·在使用REGDB_APPPATH 或REGDB_APPPATH_DEFAULT选项(它们将影响创建每应用程序路径项,也影响在其下写一个值)调用RegDBSetItem函数之前,你必须调用InstallationInfo函数来提供被使用来创建该项的信息。
·当你调用MaintenanceStart 或DeinstallStart函数时,[UninstallString]值被创建。

RegDBSetKeyValueEx
语法:RegDBSetKeyValueEx (szKey, szName, nType, szValue, nSize);
说明:RegDBSetKeyValueEx函数设置注册表中一个项下指定的数值名的值。如果该项不存在,RegDBSetKeyValueEx将会为你创建它。然而,新创建的项不会存入卸载记录除非它是一个已经存入卸载记录的项的子项。如下情况项会存入卸载记录:
当它们使用RegDBCreateKeyEx而被创建。
当存入功能被激活时。
当它们在安装进程中由InstallShield自动被创建。
当它们作为调用一个特殊注册表相关函数的结果而被创建。
如果数值名不存在,RegDBSetKeyValueEx创建它。如果数值数已经存在,RegDBSetKeyValueEx改写它。InstallShield假定szKey中的数值名是HKEY_CLASSES_ROOT项的一个子项。如果你想要使用一个不同的主项,则使用RegDBSetDefaultRoot函数来设置该主开关键。
RegDBSetKeyValueEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szKey
指定要设置的项的名;该项必须已经由RegDBCreateKeyEx创建。你不必要在该参数包括HKEY_CLASSES_ROOT项(或你指定的其它项)。用一个双反斜杠来分隔子项的不同层。
szName
指定要被设置的数值数的数值名。为设置在szKey指定的项的缺省值,给该参数传递一个空字符串。
nType
指定你要设置的数据的类型,在该参数位置传递下列预定义常量之一:
请参阅15.12中该部分的说明。
szValue
指定和数值名相联系的值。所有值必须以字符串变量传递。数字必须表示为字符串(InstallShield内部将它们转换为数字)。
nSize
以字节数指定要被设置的数据的大小。当nType是REGDB_STRING, REGDB_STRING_EXPAND, 或 REGDB_NUMBER时,你可以将该参数指定为-1,InstallShield会设置其大小。然而,当nType为REGDB_BINARY和 REGDB_STRING_MULTI时,你必须总指定你在保存的二进制数据的字节数。
返回值:
0:表明函数成功设置该项。
< 0:表明函数未能设置该项。

SetInstallationInfo
语法:SetInstallationInfo (szCompany, szProduct, szVersion, szProductKey);
说明:在一个基于事件的脚本中,SetInstallationInfo函数在 Begin事件之前被自动调用,以字符串表表目COMPANY_NAME, PRODUCT_NAME, PRODUCT_VERSION, 和 PRODUCT_KEY为其参数。SetInstallationInfo指定该信息由CreateInstallationInfo(它在一个基于事件脚本中就在First UI Before事件后被自动调用来创建你正在安装的程序的一个应用程序信息项和一个每应用程序路径项)使用。
SetInstallationInfo是一个特殊注册表相关函数,设计为可工作于特定预定义的注册表项。
参数:
szCompany
指定公司名。CreateInstallationInfo使用szCompany来创建注册表中[HKEY_LOCAL_ MACHINE]\Software项下的\<company>项。
szProduct
指定被安装的产品的名称。CreateInstallationInfo使用szProduct来创建注册表中[HKEY_LOCAL_MACHINE]\Software\<company>项下的\<product>项。SzProduct的值也被插入到欢迎对话框中消息文本的第一段中。
szVersion
指定产品的版本号。InstallShield使用szVersiont来在注册表中的[HKEY_LOCAL_MACHINE] \Software\<company>\<product>项下创建一个\<version>项。合在一起,\<company>项 (szCompany), \<product> 项(szProduct), 和\<version> 项(szVersion)被指定为应用程序信息项。应用程序信息项在调用InstallationInfo时立即被创建。
szProductKey
应用程序的主可执行文件的文件名。如果你使用几个可执行文件,指定最能代表产品的可执行文件。InstallShield 使用szProductKey来在项[HKEY_LOCAL_MACHINE]\Software \Microsoft\Windows\CurrentVersion\App Paths下创建一个每应用程序路径项。每应用程序路径项知道你调用RegDBSetItem创建该项下的一个数值名和数值数对后才真正在注册表中被创建。
返回值:
该函数总返回0。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何删除C盘上没有用的东西? - 电脑公司特别版 - 软件论坛
高手都是这样清除系统LJ的
电脑技巧汇总
为什么我在我的电脑上已经把软件卸载了,重新安装还是会提示已经安装了? | 建筑一生
删除程序如何做到斩草除根
十大流氓软件完全卸载方案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服