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