Diagnosis of Driver Setup Issues in Windows Embedded Standard 7– Part 1

*Updated 3/19/10- formatting*

Introduction

This is a first blog in a series of articles which will discuss the troubleshooting and diagnosis of driver installation issues in Windows Embedded Standard 7. We will start off the series by looking at the different phases of setup in Standard 7 and touch upon the logging facilities available.

Phases of setup  

There are four phases of setup in Standard 7, where the fourth only occurs in the event setup needs to roll back the installation.  

1.    Windows Preinstallation Environment Phase (WinPE) – is the first phase of setup when you start the machine by using the Standard 7 installation media. The following table lists the important log files in this setup phase. Note: the downlevel phase mentioned below, is the Windows setup phase that is run within the previous operating system. For Standard 7 this is not supported, since setup begins from the WinPE phase.

Log file

Description

X:\$WINDOWS.~BT\Sources\Panther\setupact.log

 

 

 

Contains information about setup actions during the installation.

X:\$WINDOWS.~BT\Sources\Panther\setuperr.log

 

 

 

Contains information about setup errors during the installation.

X:\$WINDOWS.~BT\Sources\Panther\miglog.xml

 

 

 

Contains information about the user directory structure. This information includes security identifiers (SIDs).

X:\$WINDOWS.~BT\Sources\Panther\PreGatherPnPList.log

 

 

 

Contains information about the initial capture of devices that are on the system during the downlevel phase.

Or

C:\$WINDOWS.~BT\Sources\Panther\setupact.log

 

 

 

Contains information about setup actions during the installation.

C:\$WINDOWS.~BT\Sources\Panther\setuperr.log

 

 

 

Contains information about setup errors during the installation.

C:\$WINDOWS.~BT\Sources\Panther\miglog.xml

 

 

 

Contains information about the user directory structure. This information includes security identifiers (SIDs).

C:\$WINDOWS.~BT\Sources\Panther\PreGatherPnPList.log

 

 

 

Contains information about the initial capture of devices that are on the system during the downlevel phase.

2.    Online Configuration Phase – is the online configuration phase (the first boot phase) which starts when you receive the following message:

Please wait a moment while Windows prepares to start for the first time.  

During this phase, basic hardware support is installed. The following table lists important log files in this setup phase.

Log file

Description

C:\WINDOWS\PANTHER\setupact.log

 

 

 

Contains information about setup actions during the installation.

C:\WINDOWS\PANTHER\setuperr.log

 

 

 

Contains information about setup errors during the installation.

C:\WINDOWS\PANTHER\miglog.xml

 

 

 

Contains information about the user directory structure. This information includes security identifiers (SIDs).

C:\WINDOWS\INF\setupapi.dev.log

 

 

 

Contains information about Plug and Play devices and driver installation.

C:\WINDOWS\INF\setupapi.app.log

 

 

 

Contains information about application installation.

C:\WINDOWS\Panther\PostGatherPnPList.log

 

 

 

Contains information about the capture of devices that are on the system after the online configuration phase.

C:\WINDOWS\Panther\PreGatherPnPList.log

 

 

 

Contains information about the initial capture of devices that are on the system during the downlevel phase.

3.    Windows Welcome Phase – is the final setup phase before the user logs in. The following table lists important log files in this setup phase.

Log file

Description

C:\WINDOWS\PANTHER\setupact.log

 

 

 

Contains information about setup actions during the installation.

C:\WINDOWS\PANTHER\setuperr.log

 

 

 

Contains information about setup errors during the installation.

C:\WINDOWS\PANTHER\miglog.xml

 

 

 

Contains information about the user directory structure. This information includes security identifiers (SIDs).

C:\WINDOWS\INF\setupapi.dev.log

 

 

 

Contains information about Plug and Play devices and driver installation.

C:\WINDOWS\INF\setupapi.app.log

 

 

 

Contains information about application installation.

C:\WINDOWS\Panther\PostGatherPnPList.log

 

 

 

Contains information about the capture of devices that are on the system after the online configuration phase.

C:\WINDOWS\Panther\PreGatherPnPList.log

 

 

 

Contains information about the initial capture of devices that are on the system during the downlevel phase.

C:\WINDOWS\Performance\Winsat\winsat.log

 

 

 

Contains information about the Windows System Assessment Tool performance testing results.

4.    Rollback Phase – if the windows setup fails, and the user has successfully rolled back the installation, there are several log files which can be used for trouble shooting. The following table lists the important log files in this phase.

Log file

Description

C:\$WINDOWS.~BT\Sources\Panther\setupact.log

 

 

 

Contains information about setup actions during the installation.

C:\$WINDOWS.~BT\Sources\Panther\miglog.xml

 

 

 

Contains information about the user directory structure. This information includes security identifiers (SIDs).

C:\$WINDOWS.~BT\Sources\Panther\setupapi\setupapi.dev.log

 

 

 

Contains information about Plug and Play devices and driver installation.

C:\$WINDOWS.~BT\Sources\Panther\setupapi\setupapi.app.log

 

 

 

Contains information about application installation.

C:\$WINDOWS.~BT\Sources\Panther\PreGatherPnPList.log

 

 

 

Contains information about the initial capture of devices that are on the system during the downlevel phase.

C:\$WINDOWS.~BT\Sources\Panther\PostGatherPnPList.log

 

 

 

Contains information about the capture of devices that are on the system after the online configuration phase.

 SetupAPI logs  

Notice that in setup phases three and four a log file (SetupAPI.dev.log) is present; this file is part of the SetupAPI logs. In Windows Vista and later versions of Windows which includes Standard 7 there is support for the logging of device installation events in this text log (SetupAPI.dev.log) as well as an application installation text log (SetupAPI.app.log). To diagnose driver setup issues,you can view the SetupAPI.dev.log file for device installation events.The SetupAPI.dev.log file is available in the “C:\WINDOWS\INF” directory. If a roll back occurred, the SetupAPI.dev.log file can be accessed from the “C:\$WINDOWS.~BT\Sources\Panther\setupapi” directory.  

Example device setup issue  

Below is a small snippet from a SetupAPI.dev.log file. These entries indicate that a driver was not found for a device, in this case a smart card reader. In the next article in the series we will drill into this further.  

>>> Section start 2010/01/28 16:05:57.100

ump: Creating Install Process: DrvInst.exe 16:05:57.100

ndv: Retrieving device info...

ndv: Setting device parameters...

ndv: Searching just Driver Store...

dvi: {Build Driver List} 16:05:57.115

dvi: Searching for hardware ID(s):

dvi: scfilter\cid_417374726964

cpy: Policy is set to make all digital signatures equal.

dvi: Enumerating INFs from path list 'C:\Windows\INF'

inf: Searched 0 potential matches in published INF directory

inf: Searched 31 INFs in directory: 'C:\Windows\INF'

dvi: {Build Driver List - exit(0x00000000)} 16:05:57.193

ndv: Selecting best match from just Driver Store...

dvi: {DIF_SELECTBESTCOMPATDRV} 16:05:57.193

dvi: No class installer for 'Smart Card'

dvi: No CoInstallers found

dvi: Default installer: Enter 16:05:57.193

dvi: {Select Best Driver}

! dvi: Selecting driver failed(0xe0000228)

dvi: {Select Best Driver - exit(0xe0000228)}

! dvi: Default installer: failed!

! dvi: Error 0xe0000228: There are no compatible drivers for this device.

Conclusion

The next article in this series (Diagnosis of Driver Setup Issues in Windows Embedded Standard 7 – part 2) will illustrate the format of the SetupAPI.dev.log file and more detailed driver setup issue scenarios.  

- Mark