Updating Registry Information
After the queue has successfully committed, you will need to update registry information for the product you are installing. It is recommended that you wait until all necessary file copy operations have been successfully completed before altering registry information.
One way to update the registry is to call SetupInstallFromInfSection with the SPINST_INIFILES, SPINST_REGISTRY, or SPINST_INI2REG flags specified. These flags can be combined in one call to SetupInstallFromInfSection.
The following example uses SPINST_ALL^SPINST_FILES to indicate that the function should process all of the listed operations except file operations. Since only INI, registry, and file operations are listed in the Install section, this is a shorthand method of specifying the function should process all INI and registry operations.
The following example shows how to install registry information using the SetupInstallFromINFSection function.
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
);
In the example, OwnerWindow is NULL because only file operations generate dialog boxes, and thus a parent window is not needed. "MyInf" is the INF file containing the section to process. The parameter, "MySection", specifies the section to be installed. The combined flags, SPINST_ALL ^ SPINST_FILES, specify which installation operations to process, in this case, all operations except file operations. The source root path is specified as "A:\".
Since no copy operations are being processed, the CopyFlags, MsgHandler, Context, DeviceInfoSet, and DeviceInfoData parameters are not specified.