Mise à jour des informations du Registre
Une fois la file d’attente validée, vous devez mettre à jour les informations du Registre pour le produit que vous installez. Il est recommandé d’attendre que toutes les opérations de copie de fichiers nécessaires aient été effectuées avant de modifier les informations du Registre.
Une façon de mettre à jour le Registre consiste à appeler SetupInstallFromInfSection avec les indicateurs SPINST_INIFILES, SPINST_REGISTRY ou SPINST_INI2REG spécifiés. Ces indicateurs peuvent être combinés en un seul appel à SetupInstallFromInfSection.
L’exemple suivant utilise SPINST_ALL^SPINST_FILES pour indiquer que la fonction doit traiter toutes les opérations répertoriées, à l’exception des opérations de fichier. Étant donné que seules les opérations INI, de registre et de fichier sont répertoriées dans la section Installer , il s’agit d’une méthode abrégée qui spécifie que la fonction doit traiter toutes les opérations INI et de Registre.
L’exemple suivant montre comment installer les informations du Registre à l’aide de la fonction 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
);
Dans l’exemple, OwnerWindow a la valeur NULL , car seules les opérations de fichier génèrent des boîtes de dialogue et, par conséquent, une fenêtre parente n’est pas nécessaire. « MyInf » est le fichier INF contenant la section à traiter. Le paramètre « MySection » spécifie la section à installer. Les indicateurs combinés, SPINST_ALL ^ SPINST_FILES, spécifient les opérations d’installation à traiter, dans ce cas, toutes les opérations à l’exception des opérations de fichier. Le chemin d’accès racine source est spécifié comme « A:\ ».
Étant donné qu’aucune opération de copie n’est traitée, les paramètres CopyFlags, MsgHandler, Context, DeviceInfoSet et DeviceInfoData ne sont pas spécifiés.