Troubleshooting Device Installation with the Setupapi log File




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

4.7Verifying Files and Pruning the File Queue


During the verifying-and-pruning stage of driver installation, SetupAPI logs messages that pertain to verifying and pruning (in other words, deleting) file-copy operations from the file queue. SetupAPI performs these tasks before it commits the file queue.

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

If SetupAPI verifies a file, it deletes the file’s corresponding copy operation from the file queue; when SetupAPI subsequently commits the file queue, it does not copy the file to the system.

SetupAPI verifies a file if and only if the following conditions are true:



  • The driver package has a Windows Hardware Quality Labs (WHQL) catalog, a Microsoft Authenticode® catalog, or a test catalog.

  • All the INF files that are associated with the file’s driver package are installed in the default system INF file directory, and the catalog files that are associated with these INF files are installed in the crypto catalog store.

  • The signatures of all the INF files that are associated with the file’s driver package are validated by their respective catalog files.

  • The signature of the file is validated by the catalog file that is associated with a particular INF file—the one that specifies the source media layout for the file. (This INF file is the one containing the SourceDisksFiles and SourceDisksNames sections that identify the source media and the source file for the file to be verified.)

  • The file exists in a particular destination directory—the one specified by the DestinationDirs section in the INF file that specifies the source media layout for the file.

If SetupAPI does not verify a file, it leaves the file’s copy operation in the file queue. When SetupAPI subsequently commits the file queue, it copies the file to the system—unless the existing file on the system is in use and a reboot is not required. In this case, SetupAPI compares the file in the driver package with the existing file. If they are identical, SetupAPI does not copy the file, and it logs the following type of message:

#I193 File "…\SET87.tmp" is identical to existing "…\Some_File_Name_And_Extension", delayed copy skipped.

4.7.1Verifying Files and Pruning the File Queue: Verbose Logging


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

@ 10:18:25.843 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 10:18:25.890 #V132 File "e:\windows\inf\Blender_INF_File_Name.inf" (key "Blender_INF_File_Name.inf") is signed in catalog "Blender_Catalog_File_Path\Blender_Catalog_File_Name.cat".

@ 10:18:25.890 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 10:18:25.906 #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".

@ 10:18:25.906 #T185 Pruning Files: Verifying catalogs/INFs.

@ 10:18:25.906 #T186 Pruning Files: Verifying catalogs/INFs completed.

@ 10:18:25.906 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 10:18:25.921 #V132 File "E:\WINDOWS\System32\DRIVERS\blender.sys" (key "blender.sys") is signed in catalog "Blender_Catalog_File_Path\Blender_Catalog_File_Name.cat".

@ 10:18:25.921 #V191 File "E:\WINDOWS\System32\DRIVERS\blender.sys" pruned from copy.


In the previous example, the #V286 through #T186 messages relate to verifying the catalog and INF files. The #V132 and #V191 messages indicate that the blender.sys file is signed in its corresponding Blender_Catalog_File_Name.cat file and that SetupAPI pruned the corresponding file-copy operation from the file queue.

4.8Committing the File Queue


SetupAPI logs messages that are associated with committing the file queue only if an error occurs or if one of the verbose logging levels is set.

The following example applies to an Oven device and illustrates the messages that result from a FILEOP_ABORT error.

#-167 SPFILENOTIFY_NEEDMEDIA: Tag = "Disk1", Description= "Oven_Media_Description", SourcePath = "Oven_Source_Path", SourceFile = "oven.sys", Flags = 0x00000000.

#E169 SPFILENOTIFY_NEEDMEDIA: returned FILEOP_ABORT. Error 1223: The operation was canceled by the user.

#W187 Install failed, attempting to restore original files.
SetupAPI logs a FILEOP_ABORT error if the correct removable media is not present or if a file is missing. A FILEOP_ABORT error message in the log file means that the FILEOP_ABORT error occurred during a server-side (or other noninteractive) installation or that a user canceled the driver installation.

4.8.1Committing the File Queue: Verbose Logging


The examples in this section illustrate what the committing-the-file-queue messages in a SetupAPI log file look like for a Blender device—if the most verbose logging level is set.

If the file queue is empty when it is committed, SetupAPI logs only the following messages:

@ 10:18:25.921 #T183 Install Files (nothing in queue): Verifying catalogs/INFs.

@ 10:18:25.921 #T184 Install Files (nothing in queue): Verifying catalogs/INFs completed.


If the file queue contains file-copy operations when it is committed, SetupAPI logs messages that indicate which files were copied. In the following example, pruning the file-copy operation for the blender.sys file failed, and the blender.sys is in the Windows driver cabinet.

@ 10:18:22.406 #I180 Verifying file "E:\WINDOWS\System32\DRIVERS\blender.sys" (key "blender.sys") against catalog "" failed. Error 1168: Element not found.

@ 10:18:22.406 #I180 Verifying file "E:\WINDOWS\System32\DRIVERS\blender.sys" (key "blender.sys") against catalog "" failed. Error 1168: Element not found.

@ 10:18:22.406 #T181 Install Files: Verifying catalogs/INFs.

@ 10:18:22.406 #T182 Install Files: Verifying catalogs/INFs completed.

@ 10:18:22.406 #I167 SPFILENOTIFY_NEEDMEDIA: Tag = "driver.cab", Description= "windows driver cabinet", SourcePath = "E:\WINDOWS\Driver Cache\i386", SourceFile = "blender.sys", Flags = 0x00000000.

@ 10:18:22.406 #V168 SPFILENOTIFY_NEEDMEDIA: skipped callback.
In the previous example, the #I180 messages report that the INF file for blender.sys does not specify a catalog file and that blender.sys is not signed in any catalog file installed on the system. The #I167 message indicates that blender.sys is in the Windows driver cabinet, and the #V168 message indicates that the SPFILENOTIFY_NEEDMEDIA callback was not called, because the file is in the Windows driver cabinet. (This situation is the only one in which the callback is not called.)

The final example illustrates the messages that pertain to extracting blender.sys from the Windows driver cabinet:

@ 10:18:22.750 #I340 Extracted file "blender.sys" from cabinet "…\driver.cab" to "…\SET86.tmp" (target is "…\blender.sys").

#-024 Copying file "…\SET86.tmp" to "…\blender.sys".

@ 10:18:22.765 #I336 Copying file "…\SET86.tmp" to "…\blender.sys" via temporary file "…\SET87.tmp".

@ 10:18:22.765 #V286 Verification using alternate platform (Platform = 2, High Version = 5.1, Low Version = 5.0).

@ 10:18:22.765 #V132 File "…\SET87.tmp" (key "Blender_Driver_Name.sys") is signed in catalog "…\Blender_Catalog_File_Name.cat".

@ 10:18:22.781 #V250 Applied security to file "…\blender.sys".


In the previous example, the #I340 and #I336 messages indicate that the file was extracted and that its contents were saved in a SET87.tmp file. The #V132 message indicates that the contents of the file are signed in the Blender_Catalog_File_Name.cat file, and the #V250 message reports that the blender.sys file was copied to the system.
1   2   3   4   5   6   7   8   9   10   11


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

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