Troubleshooting Device Installation with the Setupapi log File




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

4.12Finishing the Install Wizard


During the finishing-install-wizard stage of driver installation, SetupAPI logs messages that are associated with a DIF_NEWDEVICEWIZARD_FINISHINSTALL request. SetupAPI logs messages during this stage only if an error occurs or if one of the verbose logging levels is set.

4.12.1Finishing the Install Wizard: Verbose Logging


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

@ 10:18:25.656 #V166 Device install function: DIF_NEWDEVICEWIZARD_FINISHINSTALL.

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

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

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


In the previous example, the #V166 message indicates that SetupAPI initiated the processing of the DIF_NEWDEVICEWIZARD_FINISHINSTALL request. The #V150 and #V153 messages indicate that both a co-installer and the class installer completed the request, and the #V155 message indicates that the default installer is processing the request.

These messages imply that pages were displayed; SetupAPI does not log messages to indicate that fact.

4.13Cleaning Up


During the cleaning-up stage of driver installation, the class installer processes the DIF_DESTROYPRIVATEDATA request, which SetupAPI initiates before it unloads co-installers. (Only the class installer can handle this request.)

SetupAPI logs messages during this stage only if an error occurs or if one of the verbose logging levels is set.


4.13.1Cleaning Up: Verbose Logging


The following example shows the initial messages of a cleaning-up subsection in a SetupAPI log file—if the most verbose logging level is set.

@ 10:18:25.968 #V166 Device install function: DIF_DESTROYPRIVATEDATA.

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

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

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


In the previous example, the #-V166 message indicates that SetupAPI initiated the processing of the DIF_DESTROYPRIVATEDATA request. The #V150 and #V153 messages indicate that both a co-installer and the class installer completed the request, and the #V155 message indicates that the default installer is processing the request.


5Device-Removal Sections


A device-removal section contains a section marker followed by the messages that SetupAPI logs when it removes a device.

Note

If an installer removes a device before it is fully installed, SetupAPI does not create a device-removal section. Instead, it adds the device-removal messages to the current driver-installation section. This indicates a bug in the installer, because an installer should never remove a device before it is fully installed—even if an installation error occurs.


SetupAPI logs device-removal messages only if an error occurs or if one of the verbose logging levels is set. If the default logging level is set and an error occurs, SetupAPI logs the following message, followed by the error messages:

-166 Device install function: DIF_REMOVE.


If one of the verbose logging levels is set, SetupAPI logs the following message, followed by any error messages:

@ 11:18:01.111 #V166 Device install function: DIF_REMOVE.



6Common Device-Installation Problems


This section provides examples of the messages that appear in the SetupAPI log file—when the most verbose logging level is set—as a result of the following common device-installation problems:

  • The device’s INF file has been modified but not re-signed

  • SetupAPI cannot find a driver for the device

  • Rebooting the system is required

  • A device vetoes its removal

  • The test certificate for a driver package is not installed

  • The certificate for a driver package that has a Authenticode signature is not installed

  • A driver file is unsigned

  • A service deletion is pending

  • A protected system file was replaced

Unless stated otherwise, all the examples apply to a Blender device.


6.1INF File Modified but Not Re-Signed


The example in this section illustrates the messages that SetupAPI logs when it re-installs the Blender device and determines that the blender.inf file has been modified but not re-signed. The driver installation begins as a server-side installation and fails. It then continues as a client-side installation and succeeds.

Because the example is rather long, it is presented in sections—each of which contains messages that reveal the following information:



  • The driver installation was initiated

  • The INF cache needs to be updated

  • The server-side installation failed

  • The client-side installation was initiated

  • Verifying files and pruning the file queue failed

  • The first attempt to commit the file queue failed

  • The second attempt to commit the file queue succeeded



6.1.1.1.1.1Driver Installation Initiated

SetupAPI logs the following messages during the initiating-driver-installation stage of driver installation.

[2003/05/09 20:41:05 548.105 Driver Install]

#-019 Searching for hardware ID(s): Blender_Hardware_ID.

#-018 Searching for compatible ID(s): Blender_Compatible_ID.

#-198 Command line processed: E:\WINDOWS\system32\services.exe.

@ 20:41:05.217 #V017 Enumerating files "E:\WINDOWS\inf".

@ 20:41:05.327 #V392 Using INF cache "E:\WINDOWS\inf\INFCACHE.1".

@ 20:41:05.358 #V073 Cache: Excluding INF "accessor.inf".

@ 20:41:05.358 #V073 Cache: Excluding INF "activeds.inf".

@ 20:41:05.358 #V073 Cache: Excluding INF "agtinst.inf".

@ 20:41:05.358 #V073 Cache: Excluding INF "apcompat.inf".
In the previous example, the #-198 message indicates that a server-side installation is occurring, and the #V017, #V392, and #V073 messages are associated with finding matching INF files for the Blender device.

6.1.1.1.1.2INF Cache Needs Updating

SetupAPI logs the following messages during the finding-the-drivers stage of driver installation. These messages are associated with locating the modified blender.inf file.

@ 20:41:06.656 #I382 "blender.PNF" migrate: INF may have been modified.

@ 20:41:07.813 #V042 Opened INF "E:\WINDOWS\inf\blender.inf", PNF created (Languge = 0409).

@ 20:41:07.829 #I022 Found "Blender_Hardware_ID" in E:\WINDOWS\inf\blender.inf; Device: "Blender_Device_Description

"; Driver: "Blender_Driver_Description"; Provider: "Blender_Provider_Name"; Mfg: "Blender_Manufacturer_Name"; Section name: "Blender_install-section-name".

@ 20:41:07.829 #I087 Driver node not trusted, rank changed from 0x00000001 to 0x00008001.

@ 20:41:07.829 #I023 Actual install section: Blender_install-section-name.NT]. Rank: 0x00008001. Driver date: 07/01/2003. Version: 5.1.3604.0.
In the previous example, the #I382 through #I023 messages indicate that the dates of the INF and PNF files do not match and that the INF file is unsigned. Due to the former condition, SetupAPI regenerates the PNF file. Due to the latter condition, SetupAPI changes the INF file’s rank to 0x00008001. (The date of the INF file is specified by its DriverVer directive.)

If the log file contains a #I087 message for a signed INF file, perform the following steps:



  1. If the INF file is not in the default system INF file directory, delete only the PNF file.

  2. If the INF file is in the default system INF file directory, and its name is oem*.inf, delete the INF file and the PNF file.

  3. Re-install the device.



6.1.1.1.1.3Server-Side Installation Failed

The following messages are associated with the failure of the server-side driver installation. However, this failure is not fatal. SetupAPI cleans up the server-side installation and defers to a client-side installation.

@ 20:41:13.443 #T205 Install Device: Verifying catalogs/INFs.

@ 20:41:13.443 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:41:13.475 #I180 Verifying file "e:\windows\inf\blender.inf" (key "blender.inf") against catalog "" failed. Error 1168: Element not found.

@ 20:41:13.475 #E358 An unsigned or incorrectly signed file "e:\windows\inf\blender.inf" for driver "Blender_Driver_Description" blocked (server install). Error 1168: Element not found.

@ 20:41:13.490 #T206 Install Device: Verifying catalogs/INFs completed.

@ 20:41:13.490 #T224 Install Device: Cleaning up failed device.

@ 20:41:13.490 #E122 Device install failed. Error 1168: Element not found.

@ 20:41:13.490 #T201 Install Device: End.

@ 20:41:13.490 #E157 Default installer failed. Error 1168: Element not found.

@ 20:41:13.490 #V166 Device install function: DIF_DESTROYPRIVATEDATA.

@ 20:41:13.490 #T152 Executing class installer.

@ 20:41:13.506 #V153 Completed class installer.

@ 20:41:13.506 #V155 Executing default installer.

@ 20:41:13.506 #V156 Completed default installer.
In the previous example, the #T205 through #T206 messages pertain to verifying the INF file in the catalog file. Specifically, the #I180 and #E358 messages indicate that SetupAPI could not verify the INF file in the catalog file; SetupAPI logs this as an error because the installation is server-side. Finally, the #V166 through #V156 messages indicate that the installers processed the DIF_DESTROYPRIVATEDATA request.

Tip

To find all the messages in a SetupAPI log file that indicate unsigned drivers, search for the word unsigned—as long as the log file is an English-language one!


6.1.1.1.1.4Client-Side Installation Initiated

Just before the server-side installation completes, it initiates a client-side installation which, in turn, runs the Found New Hardware Wizard. The wizard allows the user to participate in the driver installation.

The following example shows the types of messages that SetupAPI logs at the beginning of a client-side installation.

[2003/05/09 20:41:13 3920.2]

#-199 Executing "E:\WINDOWS\system32\rundll32.exe" with command line: rundll32.exe newdev.dll,ClientSideInstall \\.\pipe\PNP_Device_Install_Pipe_0.{FC06A736-DFBF-4579-A96B-95FCF040BE47}

@ 20:41:13.537 #I060 Set selected driver.

#-019 Searching for hardware ID(s): Blender_Hardware_ID

#-018 Searching for compatible ID(s): Blender_Compatible_ID

@ 20:41:13.537 #V017 Enumerating files "E:\WINDOWS\inf".

@ 20:41:13.568 #V392 Using INF cache "E:\WINDOWS\inf\INFCACHE.1".

@ 20:41:13.584 #V073 Cache: Excluding INF "accessor.inf".

@ 20:41:13.584 #V073 Cache: Excluding INF "activeds.inf".
In the previous example, the #-199 message indicates that the system is running the Found New Hardware Wizard for a client-side installation. The #-019 and #-018 messages specify the hardware identifiers and compatible identifiers of the Blender device. Finally, the #V017 through #V073 messages are associated with searching for INF files that match the device.

6.1.1.1.1.5Verifying Files and Pruning the File Queue Failed

SetupAPI logs the following messages during the verifying-and-pruning stage of driver installation. Note that SetupAPI will not prune the file queue if the INF file is unsigned.

@ 20:41:29.317 #T185 Pruning Files: Verifying catalogs/INFs.

@ 20:41:29.332 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:41:29.332 #I180 Verifying file "e:\windows\inf\blender.inf" (key "blender.inf") against catalog "" failed. Error 1168: Element not found.

@ 20:41:29.332 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:41:29.504 #V132 File "e:\windows\inf\layout.inf" (key "layout.inf") is signed in catalog "E:\WINDOWS\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\NT5INF.CAT".

@ 20:41:29.504 #T186 Pruning Files: Verifying catalogs/INFs completed.

@ 20:41:29.504 #W334 Failed to verify catalog when scanning file queue. Error 1168: Element not found.


In the previous example, the #T185 through #I180 messages indicate that SetupAPI could not verify the INF file against the catalog file. The later #T186 and #W334 messages indicate that SetupAPI completed the pruning operation; however, SetupAPI did not prune any files because it could not verify them against the catalog file. Note that the #W334 message indicates that error 1168 occurred. In the context of verifying a file against a catalog, this error usually means that the file’s signature was not verified by the catalog.
6.1.1.1.1.6Committing the File Queue Failed

It is not a fatal error to fail to prune the file queue due to an unsigned INF file. SetupAPI therefore attempts to commit the file queue after the failure occurs. As part of its first attempt, SetupAPI applies the Driver Signing option, which the system administrator can set from Device Manager. If the option is set to Warn, SetupAPI offers the user a choice between continuing and canceling the installation. The following messages are associated with this first attempt and are logged during the committing-the-file-queue stage of driver installation:

@ 20:41:29.504 #T181 Install Files: Verifying catalogs/INFs.

@ 20:41:29.504 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:41:29.520 #I180 Verifying file "e:\windows\inf\blender.inf" (key "blender.inf") against catalog "" failed. Error 1168: Element not found.

@ 20:41:31.272 #E366 An unsigned or incorrectly signed file "e:\windows\inf\blender.inf" for driver "Blender_Driver_Description" will be installed (Policy=Warn, user said ok). Error 1168: Element not found.

@ 20:41:31.272 #T182 Install Files: Verifying catalogs/INFs completed.

@ 20:41:31.272 #W187 Install failed, attempting to restore original files
In the previous example, the #I180 message states that the INF file was not verified against the catalog file. The #E366 message reveals two facts: the Driver Signing option was set to Warn, and the user clicked OK when warned by a dialog box that the driver was unsigned. This is the choice that causes SetupAPI to make a second attempt to commit the file queue. Finally, the #W187 message indicates that the first attempt failed and that SetupAPI has reset the system restore point. Note that this message is only a warning, not a fatal error.

6.1.1.1.1.7Committing the File Queue Succeeded

Because the user elected to install the Blender device, SetupAPI continues with a second attempt to commit the file queue. SetupAPI does not warn the user again. The following messages are associated with this second attempt and are logged during the committing-the-file-queue stage of driver installation. After the file queue is committed, the rest of the device installation proceeds in a normal fashion.

@ 20:42:04.019 #T181 Install Files: Verifying catalogs/INFs.

@ 20:42:04.097 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:42:04.129 #I180 Verifying file "e:\windows\inf\blender.inf" (key "blender.inf") against catalog "" failed. Error 1168: Element not found.

@ 20:42:04.129 #E362 An unsigned or incorrectly signed file "e:\windows\inf\blender.inf" for driver "Blender_Driver_Description" will be installed (Policy=Warn). Error 1168: Element not found.

@ 20:42:04.129 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 20:42:04.348 #V132 File "e:\windows\inf\layout.inf" (key "layout.inf") is signed in catalog "E:\WINDOWS\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\NT5INF.CAT".

@ 20:42:04.348 #T182 Install Files: Verifying catalogs/INFs completed.


In the previous example, the #I180 message indicates that SetupAPI could not verify the INF file against the catalog file, and the #E362 message indicates that SetupAPI installed the driver package.
1   2   3   4   5   6   7   8   9   10   11


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

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