Share via


Diagnose Image Builder Wizard Installation Problems

3/21/2011

Microsoft Corporation

June 2010

Summary

This technical article provides an overview of the log files created by Image Builder Wizard and how to use them to diagnose Image Builder Wizard installation failures.

Applies To

Windows Embedded Standard 7

Introduction

Find the Logs

Access the Logs

How Image Builder Wizard Works

View the Logs

Interpret the Logs

Additional Help

Conclusion

Introduction

When errors occur during the installation of a Windows Embedded Standard 7 image, the error logs generated by Image Builder Wizard will help you determine what error is occurring and why.

Find the logs

When you are installing a Standard 7 image through Image Builder Wizard, you may get a popup that resembles this.

Ff794255.e8e711e1-1021-4f9e-9272-398bbf260273(en-US,WinEmbedded.1001).gif

The log files for Image Builder Wizard are located in a folder called Panther. The location of this folder will change depending on the phase of setup currently in progress. The logs need to be moved around because your disk is often formatted during the setup process.

Before installation starts, the logs are stored in the RAM drive (usually x:\windows\panther). However, the RAM drive goes away after setup restarts your device, so this isn't a good permanent location for the log files. After Image Builder Wizard has formatted your device's disk and created partitions, the logs can be moved to the hard disk. The permanent log location of c:\Windows\Panther\ directory doesn't exist yet, as the core Windows Embedded Standard 7 image hasn't been installed. Instead the logs are temporarily placed under c:\$windows.~bt\ but then moved to the final location of c:\windows\panther\ once the base Standard 7 installation has finished.

To summarize:

Installation Point Log File Location

While running "autorun" (before selecting Build an Image or Deploy an Answer File or WIM)

No logs available

Before installation actually starts (before selecting Next on the disk selection screen)

x:\windows\panther

After installation starts

c:\$WINDOWS.~BT\Sources\Panther

After installation completes

c:\Windows\Panther

Note

There are no logs available before Image Builder Wizard actually starts up. This means that if for some reason, Image Builder Wizard cannot start up, there will be no logs to help diagnose the failure. This is extremely rare. If you encounter this, please try one of the options in the Additional Help section of this topic and the product team will assist you.

Note

x:</STRONG> and c:</EM> as shown above are the typical drive letters for the RAM drive and the system drive respectively. Your device's configuration may vary.

Access the logs

Because the Windows Explorer interface is not available in Image Builder Wizard, a Command Prompt window must be used to access the log files.

After an error is encountered in Image Builder Wizard, but before you select OK to dismiss the error, you can press Shift + F10 to open a Command Prompt window. You must do this before dismissing the error dialogue because clicking OK to dismiss the error will cause setup to attempt to roll back the installation, potentially deleting your log files in the process.

If you are not familiar with Windows/DOS commands, you may need to look up a list of basic commands. The cd command is used to navigate between directories and the dir command is use to list files in the currently-selected directory.

In the following example, you can see the navigation to the c:\$WINDOWS.~BT\Sources\Panther directory and then the list of the directory contents which shows that the files we are interested in are present.

Ff794255.a6b664e1-20e9-4578-99a5-bfc3068994ea(en-US,WinEmbedded.1001).gif

How Image Builder Wizard works

Before getting into each of the logs and what they describe, it will be helpful to know the phases of Image Builder Wizard and the ways different components log things.

Ff794255.a4f22788-f4e4-48fd-a450-be61131f051d(en-US,WinEmbedded.1001).gif

Note

The phases described here are not directly equivalent to the Configuration Passes (1-7) in the settings in Image Configuration Editor.

  • Phase A In this phase, the Image Builder Wizard media is plugged into your device and the device is booted into Image Builder Wizard. Image Builder Wizard runs on top of the Windows Preinstallation Environment (Windows PE) 3.0 operating system. In Phase A, your device boots up into Windows PE and the Autorun program launches.
  • Autorun Autorun is the initial screen displayed when Image Builder Wizard is launched and it has two main options: Build an Image or Deploy an Answer File or WIM. From the time Windows PE starts through to when the text Setup is starting is displayed, no Image Builder Wizard logs are created as Image Builder Wizard has not actually started yet.
  • Phase B When you select Build an image, this essentially just calls the actual Image Builder Wizard program, which is setup.exe in the \sources\ folder of your Image Builder Wizard media. If you use the Deploy an Answer file or WIM option, this just calls either setup.exe /unattend:MyAnswerFile.xml or setup.exe /installfrom:MyWim.wim, depending on whether you point to an answer file or a WIM.
  • Image Builder Wizard Engine Here, if you choose to not use an answer file or if your answer file was incomplete, the Image Builder Wizard user interface will be displayed and you will be prompted to pick and choose packages, drivers, languages, to configure your installation disks, etc. If you are using an answer file, the Image Based Setup Engine processes your answer file in the background and configures the installation appropriately.
  • Phase C After the installation is ready to start, the Image Based Setup Engine will expand the Embedded Core to your device's installation disk and then pass off the installation of packages to a servicing tool called Deployment Image Servicing and Management (DISM).
  • DISM / CBS DISM processes your answer file and calls into the operating system's Component-Based Servicing (CBS) stack to actually install the packages and apply settings.
  • Phase D After most of the installation is finished, Image Builder Wizard will reboot your device to finish the installation.
  • Online Setup After your device has rebooted, it will actually boot up into the Standard 7 operating system instead of into Image Builder Wizard. At this point setup is no longer being run from the DVD or USB disk that you originally booted off of but instead from the hard disk on your device that you selected to install to. In this phase of setup, installation finishes up with any last minute things that need to be done before your device is ready to use.
  • Phase E The Out-of-Box Experience (OOBE) user interface is displayed (or hidden, if you specified that in your answer file) and setup is complete.

Important

If you try to change or repair an installation of Image Builder Wizard on a computer that has User Account Control (UAC) turned on, you may receive an error message that is similar to the following: “The installation source for this product is not available. Verify that the source exists and that you can access it.” On Windows Vista, Windows 7, or later operating systems, if UAC is turned on, you cannot repair or change the installation from Programs and Features under Control Panel. Instead, change or repair your installation by using Setup.exe from the DVD.

View the logs

There are three main log files in the Panther directory:

  • setupact.logThis log file lists every operation that Image Builder Wizard performs between the Image Builder Wizard Engine phase and the Online Setup phase mentioned previously. Because this log lists everything, it can be quite large and difficult to read through. To diagnose errors, you can use the smaller and more specific setuperr.log.
  • setuperr.logThis log is a subset of setupact.log and only contains all messages of type "Error". When an error is encountered in Image Builder Wizard, the first thing to do is look at setuperr.log to quickly see where the general problem is.
  • cbs_unattend.logWhen Image Builder Wizard passes an answer file off to DISM to actually install the packages, the control is entirely handled by DISM. Because of how this handoff works, the logging also transfers from Image Builder Wizard to DISM. Instead of recording the package installation messages to setupact.log, they're put in cbs_unattend.log. If you look at setuperr.log and see something mentioning DISM or CBS, then cbs_unattend.log is where you can find the problem. If setuperr.log doesn't mention DISM or CBS, then you should look in setupact.log for more detail.

To examine the log files on your device using notepad.exe

  1. Open a Command Prompt window on your device

  2. Navigate to the Panther directory and enter notepad logname.log at the Command Prompt to open the log file. Or, enter a fully qualified path such as notepad c:\$WINDOWS.~BT\Sources\Panther\logname.log at the command prompt to open the log file.

As demonstrated in the following screenshot, reading a log file using Notepad on Windows PE does not provide the best viewing experience. While it's easy and fast to get at the logs, the screen resolution is usually low, giving you a small window to work with.

Ff794255.d84e2706-5856-4c11-88a8-80d1535dbb62(en-US,WinEmbedded.1001).gif

Instead you can copy the log files to external media so you can read them on your development computer.

To copy the files to external media using xcopy

  1. Open a Command Prompt window on your device

  2. Navigate to the Panther directory and enter dir at the command prompt, then verify the files you want are present in the directory.

  3. Enter cd .. at the command prompt to move up a directory once you are sure the files you want are present in the Panther directory.

  4. Enter xcopy /e /I Panther y:/myfailedinstalllogs at the command prompt.

These steps are shown in the following screenshot.

Ff794255.fe1f6299-71c7-47a8-b464-5a8c97be9663(en-US,WinEmbedded.1001).gif

Interpret the Logs

Setuperr.log

When a log file is opened in Notepad on your development computer, it will resemble this:

Ff794255.82a570f3-a2fe-4417-bb7f-f211522e7912(en-US,WinEmbedded.1001).gif

To make it easier to read, the information in the screenshot above has been transcribed into the following table:

Date/Time Type of Message Message Code Module Message

2010-03-16 10:44:55

Error

[0x060766]

IBS

ApplyCbsPackagesAndSettingsFromUnattend File: DISM returned error exit code 3

2010-03-16 10:44:55

Error

[0x06076d]

IBS

ApplyCbsPackagesAndSettingsFromUnattend File: See DISM Log file [C:\$WINDOWS.~BT\Sources\Panther\cbs_unattend.log] for more details.

2010-03-16 10:44:55

Error

[0x060768]

IBS

ApplyCbsPackagesAndSettingsFromUnattend File: Failed to use DISM to install packages and apply settings. Error code = 0x8007003

Notice that the error messages in setuperr.log point to a problem with DISM. This means cbs_unattend.log should be checked.

Cbs_unattend.log

This is a screenshot of the cbs_unattend log:

Ff794255.ede5052f-6bfa-4a02-9429-e8e1a538fc39(en-US,WinEmbedded.1001).gif

The following table includes the transcription of the pertinent rows in cbs_unattend.log:

Date/Time Type of Message Module Message

 

 

 

<Ignore these messages>

2010-03-16 10:44:55

Error

DISM

DISM MSI Manager: PID=1248 Failed copying from C:\Windows\System32\Msi.dll to C:\$WINDOWS.~LS\PackageTemp\3a98f774-60af-4876-8e01-ac3e32caf53c\2C5C4631-A82B-4BE0-88F4-E01582D61C18\Msi.dll - CMsiApi::Initialize(hr:0x80070002)

2010-03-16 10:44:55

Error

DISM

DISM MSI Manager: PID=1248 Failed to find Offline Aware MSI.dll from image(C:\Windows), hr = -2147024894 - CMsiManager::Initialize(hr:0x80070002)

 

 

 

</Ignore these messages>

2010-03-16 10:44:55

Info

CBS

Appl: Evaluating package applicability for package WinEmb-Font-Western-Required~31bf3856ad364e35~x86~~6.1.7600.16385, applicable state: Installed

2010-03-16 10:44:55

Info

DISM

DISM Package Manager: PID=1248 Attempting install from source location [Y:\staged\ds\Packages\FeaturePack\x86~winemb-ie-core~~~~6.1.7600.16385~1.0\WinEmb-IE-Core.cab]. Full path [Y:\staged\ds\Packages\FeaturePack\x86~winemb-ie-

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Incorrect parameter Y:\staged\ds\Packages\FeaturePack\x86~winemb-ie-core~~~~6.1.7600.16385~1.0\WinEmb-IE-Core.cab - path not found - CDISMPackageManager::Internal_CreatePackageByPath(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to get the underlying CBS package. - CDISMPackageManager::OpenPackageByPath(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to open package at location [Y:\staged\ds\Packages\FeaturePack\x86~winemb-ie-core~~~~6.1.7600.16385~1.0\WinEmb-IE-Core.cab]. - CPackageManagerUnattendHandler::Internal_InstallPackageFromSource(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to install package from source [0] - trying next source location. hr = [0x80070003] - CPackageManagerUnattendHandler::Internal_UnattendInstallPackage

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to Install the package [WinEmb-IE-Core~31bf3856ad364e35~x86~~6.1.7600.16385]. - CPackageManagerUnattendHandler::Internal_UnattendInstallPackage(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Package failed to install [WinEmb-IE-Core~31bf3856ad364e35~x86~~6.1.7600.16385]. - CPackageManagerUnattendHandler::Internal_UnattendProcessPackage(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to process package at node <package[1]>. - CPackageManagerUnattendHandler::Apply(hr:0x80070003)

2010-03-16 10:44:55

Error

DISM

DISM Package Manager: PID=1248 Failed to Apply the unattend. - CDISMPackageManager::Apply(hr:0x80070003)

When scanning for errors, you will probably see the first two error messages shown previously between the <Ignore these messages> tags in the cbs_unattend log. These can be ignored.

As you can see, the first real "Error" that's reported is that the WinEmb-IE-Core.cab file was not found. Looking at the message before that error, you can see that DISM was trying to install the file. This file is the Internet Explorer 8 Engine and Display package and was included in the configuration this example used. For the purposes of this example, the file was deleted from the distribution share. The package isn't there. DISM needs to install the package, so the DISM operation failed and that caused the entire setup to fail.

If you go back and look at the original error message popup you saw, "Windows Setup failed to install packages or apply component settings while offline servicing the image". Now that you've gone through the logs, this error message makes sense. Setup failed to install a package. The log says the WinEmb-IE-Core.cab package is missing so you should try to figure out why it's missing and make sure it is there in the future so your installation will work.

Other Examples

Now that one failure mystery is solved, here are a few other common problems to give you an idea of what to look for.

As shown later in this document, the error message STATUS_SXS_FILE_HASH_MISMATCH typically means that the setup media is corrupted. Recreating the Image Builder Wizard media, either by re-burning the DVD or re-copying the files to a USB drive) generally solves the problem. If that doesn't fix the problem, your original download may be corrupted, so re-downloading and re-creating the setup media may help.

Date/Time Type of Message Module Message

2002-01-01 04:17:34

Error

CSI

000000f4@2002/1/1:12:17:34.359 (F) d:\winmain\base\wcp\manifestparser\hashverify.cpp(633): Error STATUS_SXS_FILE_HASH_MISMATCH originated in function Windows::ManifestParser::Rtl::ValidateFileHash expression: (null)

[gle=0x80004005]

2002-01-01 04:17:34

Info

CBS

Failed to add \\?\C:\Windows\winsxs\pending.xml to WER report because it is missing. Continuing without it...

2010-03-16 10:44:55

Error

CSI

000000f5 (F) STATUS_SXS_FILE_HASH_MISMATCH #1259668# from CCSDirectTransaction::VerifyFileHashesComponent: NetFx-MSCOREE_DLL, Version = 6.1.7231.0, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral, File: [ml:24{12},l:22{11}]"mscoree.dll"

2002-01-01 04:17:41

Error

CSI

000000f6 (F) STATUS_SXS_FILE_HASH_MISMATCH #1259616# from CCSDirectTransaction::OperateEnding at index 76 (0x0000004c) of 94 (0x0000005e) operations, disposition 0[gle=0xd015001b]

2002-01-01 04:17:41

Error

CSI

000000f7 (F) HRESULT_FROM_WIN32(ERROR_SXS_FILE_HASH_MISMATCH) #1246178# from Windows::COM::CComponentStore::InternalTransact(...)[gle=0x800736cc]

ERROR_CRC is another typical file corruption error message. The same steps suggested above may help resolve it.

Date/Time Type of Message Module Message

2010-03-15 13:43:12

Info

CBS

Failed to extract file update.mum from cabinet \\?\D:\ds\Packages\FeaturePack\x86~winemb-font-western-required~~~~6.1.7600.16385~1.0\WinEmb-Font-Western-Required.cab [HRESULT = 0x80070017 - ERROR_CRC]

2010-03-15 13:43:12

Info

CBS

Failed to extract package manifest from cabinet [HRESULT = 0x80070017 - ERROR_CRC]

2010-03-15 13:43:12

Info

CBS

Failed to initialize internal package [HRESULT = 0x80070017 - ERROR_CRC]

2010-03-15 13:43:12

Error

CBS

Failed to create internal package [HRESULT = 0x80070017 - ERROR_CRC]

E_OUTOFMEMORY means that your device has run out of RAM while running setup. This may occur more often on devices that have both low disk space and low RAM capacity or installations to removable media such as USB drives. The reason for this is that Image Builder Wizard attempts to automatically create a pagefile during setup to act as extra memory. Devices with low disk space may not have enough room for both the installation and the pagefile. Pagefiles cannot be created on removable media, so it is possible that your installation will use up all available RAM and then fail.

If you run into this situation, you may have to build your image on a device with higher hardware specifications.

Date/Time Type of Message Module Message

2009-04-23 17:08:03

Error

CBS

Failed to perform operation. [HRESULT = 0x8007000e - E_OUTOFMEMORY]

2009-04-23 17:08:03

Info

CBS

Session: 1340_3783312 finalized. Reboot required: no [HRESULT = 0x8007000e - E_OUTOFMEMORY]

2009-04-23 17:08:03

Error

DISM

DISM Package Manager: PID=1340 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x8007000e)

Additional Help

These errors were relatively simple to diagnose. Over the lifetime of our product, you may run into errors where it is more difficult to determine figure out what's going wrong. In such a case, there are several avenues you can look to for support.

Note

When you ask for assistance in diagnosing errors, it's helpful to attach the entire Panther folder to any forum post or bug report you create. The logs are critical in helping diagnose Image Builder Wizard issues. If you forget to attach them, the first response you will usually receive is "Can you send us the logs, please?"

  • The Windows Embedded MSDN Forums are a great source of support. Not only can you get help from your peers, embedded experts and Microsoft MVPs, but the Standard 7 product team also directly monitors these forums and helps out as much as possible. For questions related to Image Builder Wizard and Image Configuration Editor, the "Standard 7: Tools" sub-forum is the best place to ask. You can also access these forums from Image Configuration Editor by selecting Ask a Question from the Community menu.
  • You can work with your distributor for technical support.
  • You can send feedback to Microsoft using Image Configuration Editor by selecting Send Feedback from the Community menu.

Conclusion

Log files are essential resources when examining installation failures for Standard 7. You should always check the log files when you have an installation failure as a first step to diagnosing the failure.

Additional Information