成功提交队列后,需要更新要安装的产品的注册表信息。 建议等待,直到所有必需的文件复制操作都成功完成,然后才能更改注册表信息。
更新注册表的一种方法是使用指定的SPINST_INIFILES、SPINST_REGISTRY或SPINST_INI2REG标志调用 SetupInstallFromInfSection 。 这些标志可以在一次调用 SetupInstallFromInfSection 时组合使用。
以下示例使用 SPINST_ALL^SPINST_FILES 指示函数应处理除文件操作以外的所有列出的操作。 由于 安装 部分仅列出了 INI、注册表和文件操作,因此这是指定函数应处理所有 INI 和注册表操作的速记方法。
以下示例演示如何使用 SetupInstallFromINFSection 函数安装注册表信息。
Test = SetupInstallFromINFSection (
NULL, //Window to own any dialog boxes
//created
MyInf, //INF file containing the section
MySection, //the section to install
SPINST_ALL ^ SPINST_FILES,//which installation operations
//to process
NULL, //the relative root key
NULL, //the source root path
0, //copy style
NULL, //Message handler routine
NULL, //Context
NULL, //Device info set
NULL //device info data
);
在此示例中, OwnerWindow 为 NULL ,因为只有文件操作会生成对话框,因此不需要父窗口。 “MyInf”是包含要处理的节的 INF 文件。 参数“MySection”指定要安装的节。 组合标志SPINST_ALL ^ SPINST_FILES,指定要处理哪些安装操作,在本例中,除文件操作之外的所有操作。 源根路径指定为“A:\”。
由于未处理任何复制操作,因此未指定 CopyFlags、 MsgHandler、 Context、 DeviceInfoSet 和 DeviceInfoData 参数。