Examen du AnswerFile
Note Les mises à niveau réseau fournies par le fournisseur ne sont pas prises en charge dans Microsoft Windows XP (SP1 et versions ultérieures), Microsoft Windows Server 2003 et les systèmes d’exploitation ultérieurs.
Immédiatement avant que la barre de progression « Le programme d’installation copie des fichiers » ne s’affiche sur un système en cours de mise à niveau, le AnswerFile est créé. NetSetup et les DLL de migration réseau fournies par le fournisseur créent des sections dans AnswerFile, puis écrivent des entrées dans ces sections pendant la phase de mise à niveau de Winnt32.
Vous pouvez examiner le AnswerFile en copiant c:\$win_nt$.~bt\winnt.sif dans %TEMP%. Une fois le AnswerFile copié, vous pouvez cliquer sur Annuler pour annuler la copie de fichiers. Vous n’avez pas besoin d’attendre la fin de la copie des fichiers.
Le tableau suivant répertorie les sections de niveau supérieur du AnswerFile et les entrées correspondantes que chaque section contient et qui se rapportent aux composants réseau :
Section | Entrées contenues |
---|---|
NetAdapters |
Cartes réseau, y compris les cartes ISDN |
AsyncAdapters |
Adaptateurs asynchrones |
NetProtocols |
Protocoles réseau |
NetServices |
Services réseau |
NetClients |
Clients réseau |
Remarque Les composants NetClient sont dépréciés dans Windows 8.1, Windows Server 2012 R2 et versions ultérieures.
Pour chaque composant réseau qu’il trouve pendant la phase Winnt32, NetSetup écrit une entrée dans la section de niveau supérieur appropriée du AnswerFile. Chaque entrée a le format suivant :
Params. postupgrade-ID
L’entrée postupgrade-ID est l’ID d’appareil Windows 2000 ou ultérieur que NetSetup a obtenu à partir du fichier netmap.inf pour le composant.
Chaque entrée spécifie le nom de la section des paramètres pour ce composant dans le AnswerFile. Par exemple, si l’ID d’appareil Windows 2000 ou ultérieur d’un composant est netadapter2, son entrée dans la section NetAdapters est params.netadapter2. Les sections de niveau supérieur et les sections de paramètres d’un AnswerFile ne sont pas visibles pour une DLL de migration réseau.
Au nom de la section des paramètres d’un composant, NetSetup ajoute l’extension OemSection pour créer le nom de la section OEM pour le composant. Par exemple, si la section paramètres d’un composant est params.netadapter2, le nom de la section OEM du composant est params.netadapter2.OemSection. NetSetup transmet le nom de section OEM comme paramètre szSectionName à la fonction DoPreUpgradeProcessing fournie par la DLL de migration réseau pour le composant. La fonction DoPreUpgradeProcessing appelle la fonction NetUpgradeAddSection pour créer la section OEM pour un composant du AnswerFile. La fonction DoPreUpgradeProcessing appelle ensuite NetUpgradeAddLineToSection pour ajouter des informations spécifiques au composant à la section OEM.
La partie suivante d’un objet AnswerFile affiche les sections et les entrées d’une carte réseau dont l’ID d’appareil Windows 2000 ou version ultérieure est adapter2 :
[NetAdapter] ;top-level adapters section
adapter2=params.adapter2 ;entry for adapter2
[params.adapter2] ;parameters section for adapter2
InfID=adapter2 ;Windows 2000 or later device ID
OemSection=params.adapter2.OemSection ;Identifies the OemSection
[params.adapter2.OemSection] ;OemSection created by migration DLL
InfToRunAfterInstall="", adapter2.SectionToRun ;Written by DLL
[adapter2.SectionToRun] ;Section created by migration DLL
AddReg=adapter2.SectionToRun.AddReg ;AddReg directive
[adapter2.SectionToRun.AddReg] ;AddReg section created by DLL
HKR,0\0,IsdnPhoneNumber,0,"111-1111" ;AddReg entries written by DLL
HKR,0\1,IsdnPhoneNumber,0,"222-2222"
HKR,0\0,IsdnSpid,0,"111"
HKR,0\1,IsdnSpid,0,"222"
HKR,0,IsdnSwitchType,0x00010001,1
Pendant la phase de mode GUI, NetSetup détecte la clé InfToRunAfterInstall écrite par la DLL de migration vers params.adapter2.OemSection de l’exemple AnswerFile. Comme indiqué par cette clé, NetSetup traite l’adaptateur2. SectionToRun.AddReg . Adaptateur2. La section SectionToRun.AddReg indique à NetSetup d’ajouter des valeurs de paramètre à la clé instance d’adapater2 dans le Registre Windows 2000 ou version ultérieure. Ces valeurs de paramètre doivent correspondre aux valeurs de paramètre de pré-mise à niveau que la DLL de migration lit à partir du Registre de l’adaptateur2 pendant la phase Winnt32 de la mise à niveau.
Si une DLL de migration réseau doit être chargée pendant la phase de mode GUI, sa fonction DoPreUpgradeProcessing définit l’indicateur NUA_LOAD_POST_UPGRADE. Cet indicateur permet à NetSetup d’écrire l’entrée OemDllToLoad dans la section paramètres du composant dans le AnswerFile. L’entrée OemDllToLoad permet à NetSetup de charger la DLL de migration du composant pendant la phase de mode GUI.
L’exemple suivant montre les sections et entrées AnswerFile pour un composant dont la DLL de migration réseau est chargée pendant la phase de mode GUI :
[NetAdapter] ;top-level adapters section
adapter2=params.adapter2 ;entry for adapter2
[params.adapter2] ;parameters section for adapter2
InfID=adapter2 ;postupgrade device ID
OemSection=params.adapter2.OemSection;Identifies the OemSection
OemDllToLoad=c:\temp\oem0001\migration.dll
Notez l’entrée OemDllToLoad dans la section params.adapter2 . Notez également que la DLL de migration n’a pas créé de params.adapter2.OemSection. Lorsque la DLL de migration doit être chargée pendant la phase de mode GUI, elle n’écrit généralement pas de clé InfToRunAfterInstall dans le AnswerFile. La DLL effectue la mise à niveau post-installation ; Par conséquent, il n’est pas nécessaire de créer un nom oem-Section qui contient des directives que NetSetup doit exécuter pendant la phase de mode GUI.