Troubleshooting Device Installation with the Setupapi log File




старонка4/11
Дата канвертавання22.04.2016
Памер227 Kb.
1   2   3   4   5   6   7   8   9   10   11

4.4Selecting the Best Compatible Driver


After loading the class installers and co-installers, the next stage of driver installation involves selecting the best compatible driver. In this stage, the class installer processes the DIF_SELECTBESTCOMPATDRV request, and some class co-installers also process it. The following example illustrates what the subsection that is associated with this stage looks like for an Oven device, if the default logging level is set.

#-166 Device install function: DIF_SELECTBESTCOMPATDRV.

#I063 Selected driver installs from section [Oven_Install_Section_Name_2] in "c:\windows\inf\Oven_INF_File_Name_2.inf".

#I320 Class GUID of device remains {Device_Setup_Class_GUID}.

#I060 Set selected driver.

#I058 Selected best compatible driver.


In the previous example, the #-166 message indicates that SetupAPI initiated the processing of the DIF_SELECTBESTCOMPATDRV request for the device. The #I320 message indicates that SetupAPI did not change the device-setup class. However, note that SetupAPI will change the class and log this fact if the device-setup class GUID of the best compatible driver is different than that of the currently installed class. Lastly, the #I058 message indicates that the best compatible driver was selected.

For more information about how SetupAPI selects the best compatible driver for a device, see “How Setup Selects Drivers” in the Windows DDK documentation.


4.4.1Selecting the Best Compatible Driver: Verbose Logging


The following example illustrates what the messages that relate to selecting the best compatible driver look like for a Blender device—if the most verbose logging level is set.

@ 10:18:56.718 #V166 Device install function: DIF_SELECTBESTCOMPATDRV.

@ 10:18:56.718 #T149 Executing coinstaller 1 of 1.

@ 10:18:56.734 #V150 Completed coinstaller 1 of 1.

@ 10:18:56.734 #V155 Executing default installer.

@ 10:18:56.734 #I063 Selected driver installs from section [Blender_install-section-name_1.HW] in "e:\windows\inf\Blender_INF_File_Name.inf".

@ 10:18:56.734 #I062 Class GUID of device changed to: {Device_Setup_Class_GUID}.

@ 10:18:56.734 #I060 Set selected driver.

@ 10:18:56.734 #I058 Selected best compatible driver.

@ 10:18:56.734 #V156 Completed default installer.


In the previous example, the #V166 message indicates that SetupAPI initiated the processing of the DIF_SELECTBESTCOMPATDRV request for the device. The #T149 and #V150 messages indicate that a co-installer processed the request, and the #V155 message indicates that the default installer was called to process the request. Next, the #I063 message specifies the installation section in the INF file for the device, and the #I062 message states that the class GUID of the device was changed. The #I160 and #I058 messages indicate that the best compatible driver was selected and, finally, the #156 message indicates that the default installer completed processing the request.

4.5Allowing Installation


SetupAPI logs messages that are associated with a DIF_ALLOW_INSTALL request only if an error occurs or if one of the verbose logging levels is set. For example, the following error message is logged if a class installer does not allow driver installation.

#E154 Class installer failed. Error 0xe000022d: The driver selected for this device does not support Windows XP.


4.5.1Allowing Installation: Verbose Logging


The following example illustrates what the allowing-installation subsection in a SetupAPI log file looks like for a Blender device—if the most verbose logging level is set.

@ 10:18:56.953 #V166 Device install function: DIF_ALLOW_INSTALL.

@ 10:18:56.953 #T149 Executing coinstaller 1 of 1.

@ 10:18:56.953 #V150 Completed coinstaller 1 of 1.

@ 10:18:56.953 #V155 Executing default installer.

@ 10:18:56.953 #V156 Completed default installer.


In the previous example, the #V166 message indicates that SetupAPI initiated the processing of the DIF_ALLOW_INSTALL request for the device. The remaining messages indicate that both a co-installer and the default installer successfully completed.

4.6Installing Files


During the installing-files stage of driver installation, SetupAPI logs messages that are associated with a DIF_INSTALLDEVICEFILES request. The installers process the CopyFiles, DelFiles, and RenFiles directives from an INF file to generate a list of the files to copy, delete, and rename. SetupAPI adds device files, co-installer files, and interface files to the file queue. (In general, SetupAPI copies files before any irreversible installation actions occur.)The following example illustrates what the subsection that is associated with this stage looks like for an Oven device, if the default logging level is set.

#-166 Device install function: DIF_INSTALLDEVICEFILES.

#-124 Doing copy-only install of "Oven_Device_Instance_ID_2".
In the previous example, the #-166 message indicates that SetupAPI initiated the processing of the DIF_INSTALLDEVICEFILES request for the device, while the #-124 message indicates that SetupAPI is doing a copy-only installation for the device.

4.6.1Installing Files: Verbose Logging


By examining the verbose messages in the installing-files subsection, you can determine whether a problem exists in an INF file’s file-list-section, DestinationDirs section, SourceDisksFiles section, or SourceDisksNames section. The following example illustrates what the first part of this subsection looks like for a Blender device; this part includes messages that specify the INF files and installation sections that SetupAPI processes to determine the files to add to the file queue.

@ 10:18:25.781 #V166 Device install function: DIF_INSTALLDEVICEFILES.

@ 10:18:25.781 #T152 Executing class installer.

@ 10:18:25.781 #V153 Completed class installer.

@ 10:18:25.781 #V155 Executing default installer.

@ 10:18:25.781 #T200 Install Device: Begin.

@ 10:18:25.781 #V124 Doing copy-only install of

"Blender_Device_Instance_ID".

@ 10:18:25.781 #V005 Opened the PNF file of…

@ 10:18:25.781 #V005 Opened the PNF file of…

@ 10:18:25.796 #V011 Installing section [Blender_install-section-name] from "e:\windows\inf\Blender_INF_File_Name.inf".

@ 10:18:25.796 #T203 Install Device: Queuing files from INF(s).

@ 10:18:25.796 #V005 Opened the PNF file of…
In the previous example, the #V166 message indicates that SetupAPI initiated the processing of the DIF_INSTALLDEVICEFILES request for the device. The #T153 message indicates that a class installer completed the request, the #V155 message indicates that the default installer is processing the request, and the #V124 message indicates that a copy-only installation of the Blender device is occurring. The remaining messages indicate that the default installer is queuing the files that are specified by the INF files for the Blender device.

The following example contains the next sequence of messages in the installing-files subsection; these messages indicate the specific device files (in this case, only blender.sys) that SetupAPI is queuing for copying.

@ 10:18:25.796 #V094 Queued copy from section [Blender_install-section-name.CopyFiles] in "e:\windows\inf\Blender_INF_File_Name.inf: "blender.sys" to "blender.sys" with flags 0x80000024, target directory is "E:\WINDOWS\System32\DRIVERS".

@ 10:18:25.796 #V096 Source in section [sourcedisksfiles] in "e:\windows\inf\layout.inf"; Media=1 Description="Windows XP Professional CD-ROM" Tag="\win51ip" Path="\i386". Driver cache will be used.

@ 10:18:25.796 #T204 Install Device: Queuing coinstaller files from INF(s).

@ 10:18:25.796 #V005 Opened the PNF file of "e:\windows\inf\Blender_INF_File_Name.inf" (Language = 0409).

@ 10:18:25.796 #V005 Opened the PNF file of "e:\windows\inf\layout.inf" (Language = 0409).
In the previous example, the #V094 message identifies the CopyFiles section, the INF file, the blender.sys file, and the target directory. The #V096 message contains the location of the source file, and the #T204 through #V005 messages indicate that the queuing of the co-installer files is starting.

The following example illustrates the final sequence of messages that SetupAPI adds to an installing-files subsection. These messages indicate the co-installer and interface sections that SetupAPI processes to determine the files to queue for copying.

#-046 Processing Coinstaller registration section [Blender_install-section-name.CoInstallers].

@ 10:18:25.812 #V056 Coinstallers registered.

@ 10:18:25.812 #V011 Installing section [Blender_install-section-name.Interfaces] from "e:\windows\inf\Blender_INF_File_Name.inf".

@ 10:18:25.812 #V054 Interfaces installed.

@ 10:18:25.812 #V121 Device install of "Blender_Device_Instance_ID" finished successfully.

@ 10:18:25.812 #T201 Install Device: End.

@ 10:18:25.812 #V156 Completed default installer.
In the previous example, the #-046 message indicates the Blender_install-section-name.CoInstallers section, and the #V011 message indicates the Blender_install-section-name.Interfaces section.

1   2   3   4   5   6   7   8   9   10   11


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка