Installing Windows XP Embedded with Service Pack 2
Installing Windows XP Embedded with Service Pack 2
by Mark Chamberlain, Nelson D'Souza, and Bill Pierson
Applies to Microsoft® Windows® XP Embedded with Service Pack 2
The intent of this document is to serve as a single information source for Microsoft® Windows® XP Embedded OEM developers. Where applicable, this document references existing Microsoft public Web site links.
Why Update to SP2
Common Problems and Solutions
This document offers a guided approach for Microsoft® Windows® XP Embedded developers who are installing Windows XP Embedded with Service Pack 2 (SP2) for the first time, or are updating their Service Pack 1 development environment to Service Pack 2.
If you are installing Windows XP Embedded for the first time: Windows XP Embedded with Service Pack 2 is a kit containing nine CDs. This document helps you to navigate the content of these CDs, and offers you a comprehensive step-by-step installation procedure.
If you are updating an existing development environment (for example, SP1 to SP2), the steps you take depend on various factors such as:
- Whether you are currently servicing shipped Windows XP Embedded with SP1-based devices.
- Whether you plan to update all your field-deployed devices to SP2.
This document offers you recommendations based on your situation.
Why Update to SP2
Using SP2 extends the period of time for which Microsoft product support remains available. Review your product support license for details.
In addition to featuring improvements made to SP1, Windows XP Embedded with SP2 incorporates the same feature and software updates contained in Windows XP Professional SP2. These improvements and features include:
QFEs and updates incorporated into the operating system
Over 800 software updates and fixes have been incorporated into SP2. This includes all applicable SP1 QFEs updates. The complete list is available at this Microsoft Website.
New Windows XP SP2 features
Key features introduced in SP2 include improved security, improved wireless support, Bluetooth technology, and DirectX updates.
For detailed information about Windows XP SP2 features, see this Microsoft Website.
For additional support information for SP2 features, see this Microsoft Website.
Comprehensive component help
Component help is now included for all components (approximately 12,000).
Windows XP Embedded Enabling Features
The Hibernate Once, Resume Many (HORM) feature is a new capability in the Enhanced Write Filter (EWF) that offers a means of fast-booting your XP Embedded device from a hibernation file.
Another new EWF feature is the ability to complete a commit function without requiring a system reboot, if using EWF with RAM overlays (EWF-RAM).
A new component, named Generic Device Drivers, offers a means of installing major classes of device drivers into your run-time image. This is accomplished by dividing the driver.cab file into smaller files sorted by device class, and then offering the developer a means of picking and choosing which device classes are included in the run-time image.
This section discusses your deployment options when updating your development system and process from SP1 to SP2. One of the first things to understand is the way Windows XP Embedded component versioning works. The Windows XP Embedded Component Database is designed to allow multiple component versions to coexist, for any component. The key behaviors are as follows:
When you use Target Designer to add a component to your run-time image configuration, Target Designer always uses the latest revision of that component that it finds in the database. When you save your Target Designer configuration, the configuration remembers the specific version of each component that was used when you designed the configuration. If you later add a newer revision of a component to your database (such as a QFE update or hotfix), and then you reload your Target Designer configuration, some components may be flagged with blue up-arrows on top of their icons. This indicates that you have the option to update the component.
If the Configuration Upgrade check box is set on the Advanced tab of the Options dialog box and your configuration contains upgradeable components, Target Designer asks whether you wish to update a configuration. If you choose not to update, the configuration continues to use the original (older) version of the component.
When you choose Check Dependencies from the Configuration menu and the tool determines that a new component needs to be installed in order to satisfy component dependencies, the latest revision found in the database is always used when Target Designer resolves dependencies.
**Note **Generally, you should always have Auto-resolve dependencies turned on, to ensure that component dependencies are always satisfied.
For your specific configuration, Target Designer offers the following ways of updating components:
- Update a single component by right-clicking any component in your configuration and choosing Upgrade from the context menu that appears.
- Update the entire configuration by choosing Upgrade Configuration from the Configuration menu.
In order to maintain version coherency, follow these steps when updating the version of your configuration:
- Install all the latest QFEs and security updates that are available at the time of the update, into your Component Database
- Load your configuration into Target Designer, and then choose Upgrade Configuration from the Configuration menu.
- From the Configuration menu, choose Check Dependencies.
If you keep the components in your configuration version coherent, you reduce the chance of cross-revision component incompatibility. For this reason, any time you update your run-time image, you should always update the entire configuration, following the previous steps.
**Note **For every rule, there is usually at least one exception. For example, private hotfixes are component fixes that are not generally released to the public, but are used to solve specific customer problems. If you have a configuration in a deployed device that requires a hotfix, you usually add the hotfix component to your Component Database, open your configuration using Target Designer, and then update only the one specific component.
You are a new Windows XP Embedded developer. Because you are starting from scratch, you do not need to concern yourself about any pre-existing SP1 devices to maintain. Install the product as described in the Installation section of this document.
You are currently developing a device using Windows XP Embedded SP1, but have not shipped embedded devices to customers. Follow these steps:
- Use Windows XP Embedded disk 3 to update your development environment to SP2.
- Look for SP2 security updates and hotfixes (QFEs) on-line. Install if necessary.
- Use Target Designer to open your configuration, then choose Upgrade Configuration from the Configuration menu to update your entire configuration to SP2. From the Configuration menu, choose Check Dependencies, and then build your new image.
**Note **SP1 QFEs and updates will be replaced with SP2 level components. If you plan to convert all your images to SP2, those SP1 QFEs are no longer needed and you can delete them from your database using Component Database Manager.
Alternatively, you can reinstall the development system database, starting with disk 1. Do not reinstall SP1 QFEs. If you do this, you also need to reinstall your custom components into your database.
You have developed, tested, and shipped embedded devices using SP1. You wish to update all devices in the field to SP2.
For maximum development flexibility and image management capability, you should set up two development computers; one containing the SP1 database, and the other containing the newer SP2 database. This arrangement allows you to continue building the old SP1 image without being concerned about the old image being affected by SP2 components. This can be useful when comparing SP1 images to SP2 images, and troubleshooting image update problems.
If you have two separate computers dedicated to this task, the tools from either computer can connect to the database of the other computer by changing the database server location within Component Database Manager. This allows you to use a single desktop computer to gain access to either the SP1 or SP2 database. However, keep track of which database you are currently connected to.
When you are satisfied with the functionality of your SP2 image, you can set up a deployment mechanism to replace the entire SP1 image on your shipped devices, with the new SP2 image. Alternatively, you can use an image differencing tool that compares the SP1 image against the SP2 image, producing a script that you use to update your shipped images with only the file changes.
You have developed, tested, and shipped embedded devices using SP1. You wish to continue maintaining old devices at the SP1 level, but you also want to develop new devices using SP2. In order to continue maintaining the shipped SP1 images, you should set up two development computers as described above.
The following inventory list identifies the content and a brief description of each supplied CD-ROM.
**Note **Install the multilingual disks only if you require multilingual capability in your run-time images.
|1||Disk 1 of Windows XP Embedded with Service Pack 1 (SP1)||Disks 1 and 2 contain Windows XP Embedded with Service Pack 1. If you are starting from scratch, you install these first, because Service Pack 2 installs on top of this.|
|2||Disk 2 of Windows XP Embedded with Service Pack 1 (SP2)||See above.|
|3||Service Pack 2 (SP2) update disk||After installing Service Pack 1, use this disk to update your development environment to Service Pack 2.|
|4||Multilingual User Interface (MUI) SP1 disk 1 updates||SP1 updates for French, German, Japanese, Portuguese (Portugal), Portuguese (Brazil), and Spanish.|
|5||Multilingual User Interface (MUI) SP1 disk 2 updates||SP1 updates for Chinese (PRC), Chinese (Taiwan), Dutch, Italian, Korean, and Norwegian.|
|6||Multilingual User Interface (MUI) SP1 disk 3 updates||SP1 updates for Danish, Finnish, Greek, Polish, Swedish, and Turkish.|
|7||Multilingual User Interface (MUI) SP1 disk 4 updates||SP1 updates for Arabic, Czech, Hebrew, Hungarian, and Russian.|
|8||Multilingual User Interface (MUI) SP2 disk 1 updates||SP2 updates for Chinese (PRC), Chinese (Taiwan), Dutch, French, German, Italian, Japanese, Korean, Norwegian, Portuguese (Portugal), Portuguese (Brazil), and Spanish.
|9||Multilingual User Interface (MUI) SP2 disk 2 updates||(Install SP1 updates first) SP2 updates for:
Arabic, Czech, Danish, Finnish, Greek, Hebrew, Hungarian, Polish, Russian, Swedish, and Turkish.
Before installing, review the following documentation, located on disk 3:
- Installation Guide for Windows XP Embedded with Service Pack 2, found at the following path: \DOCS\INSTALL.CHM. Note that document node icons that include a red asterisk contain information new to SP2.
- Release notes.htm file.
What follows is a step-by-step list to ease the update process. It is intended to supplement, not replace, the document on disk 3.
**Note **If you are currently servicing any run-time images that continue to use SP1 or earlier, do not update your existing SP1 database. Instead, retain that computer and its database so you can continue servicing SP1 images until their end of life or until after you have updated all your serviced run-time images to SP2.
Any new run-time images that are created using the SP2 database will never contain SP1 QFE updates, even if you have installed SP1 QFEs into the SP2 database. This is because Target Designer always chooses the latest revision of a component, which will always be the SP2 revision. For this reason it is recommended that you install your new SP2 database using a computer that does not contain the Windows XP Embedded SP1 database or tools. This requires that you must reinstall any custom components that you have been using.
The following procedures explain how to cleanly install Windows XP Embedded with Service Pack 2. Skip the first procedure if your system already has SP1 installed.
Install Windows XP Embedded with Service Pack 1
In your target development system, you should install at least 512 MB of system RAM for optimum Target Designer performance. We recommend 1 GB.
Install the SP1 development tools. From the disk 1 setup start page, choose Tools Setup.
Install the SP1 MSDE database engine. From the disk 1 setup start page, choose Database Engine Setup.
To ensure that the Database Engine starts up, reboot your development system.
Install the SP1 Component Database. From the disk 2 setup start page, choose Database Setup.
The Remote Boot feature is optional. From the disk 2 setup start page, choose Remote Boot Setup.
You can now update your system to SP2.
To update your existing SP1 installation to Service Pack 2
Back up your system. To be safe, you can back up your entire disk image. Alternately, you can back up the Component Database and your repository folders individually.
Your database files ( *.MDF and *.LDF ) and repository folders are typically found in a folder named Windows Embedded Data. You can back up the entire folder.
**Note **Before backing up the .MDF and .LDF files, you must first stop the SQL service MSSQLSERVER. You can do this using the Service Manager (services.msc). Restart this service after backup completes.
If your computer contains an evaluation or technology preview version of SP2, then special steps must be taken to remove all traces of this version. First, uninstall the package by using Control Panel and Add/Remove Programs. Next, delete the following two SP2 repository folders from the Windows Embedded Data\Repositories folder:
Install the SP2 tools update. From the disk 3 setup start page, choose Tools Update.
After the tools update finishes, launch Component Database Manager. Review the database server location. Confirm that you are connected to the database on the computer that you want to update. Usually, this is the local computer name.
Install the SP2 MSDE Database Engine Update. From the disk 3 setup start page, choose Database Engine Update. This updates the database that your computer is currently connected to.
To ensure that the database engine updates completely, reboot your development system.
Install the SP2 database update. From the disk 3 setup start page, choose Database Update.
To update Enhanced Write Filter (EWF)
If you intend to use the EWF feature and you want to programmatically control EWF through its API, you can copy the EWF API files to your development computer. This enables you to test your program on your development computer before deploying it on your embedded device. From the disk 3 setup start page, choose EWF API Files.
**Note **At the time of this writing, it has been determined that the incorrect version of EWFAPI.LIB is included in the SP2 CD. Check the Windows XP Embedded downloads site in order to obtain the correct library file.
To update Remote Boot
- If you have installed Remote Boot, install the SP2 update, which enables you to set up a Remote Boot server on Microsoft Windows Server 2003. From the disk 3 setup start page, choose Remote Boot Setup.
To connect your embedded tools to a Component Database on a different computer
If you have configured your Windows XP Embedded Tools on a different computer than the computer that contains your MSDE SQL and the Component Database, you need to enable MSDE network access. Network access is disabled by default in order to mitigate security risks. From your development computer, which includes MSDE, choose Run from the Start menu, and then type svrnetcn. The SQL Server Network Utility dialog box appears.
Enable the Named Pipes and TCP/IP protocols.
On the computer containing embedded tools, run Component Database Manager and change your database server location to the name of the computer that contains your component database.
Open a command prompt by choosing Run from the Start menu and typing cmd.exe.
Change current directory to the directory that contains your current version of MSDE SQL Server.
Run the following:
Setup /upgradesp SQLRUN BLANKSAPWD=1 DISABLENETWORKPROTOCOLS=0
See Step 3 above.
If your target device requires Multilingual User Interface (MUI) language support, see the next procedure.
To install optional MUI packs
- Install the appropriate MUI SP1 components, and then install the appropriate SP2 updates. The SP1 components are found on disks 4 through 7. MUI SP2 updates are on disks 8 and 9.
- Check for MUI updates, using the following procedure.
To download QFE updates
To obtain an up-to-date list of QFEs, see this Microsoft Website.
You can sort the results by date to find recently released QFEs.
Locate and download the appropriate updates.
**Note **Historically, all security updates and QFEs were supplied as separate downloadable packages. Beginning in 2005, security updates will be provided in a single package; these updates are typically updated monthly.
Run the package(s) on the computer that contains your Component Database.
To incorporate the updates into your embedded device image, open your device configuration using Target Designer, and choose Upgrade Configuration from the Configuration menu.
Q: I already have SP1 tools and database installed. Should I install the SP2 tools and database on top of my old SP1 database, or should I set up SP2 on a separate computer?
A: You are generally advised to keep your old SP1 system operational until you are no longer servicing SP1-based embedded devices. For more information, see the "Update Considerations" section in this document.
Q: What happens if I install SP1 updates into an SP2 database and repository?
A: This is something you do not need to do unless you want to have a single database that enables you create new SP2 run-time image configurations as well as the ability to inspect SP1 run-time image configurations. In order to do this, you must install SP1-specific QFE 811279 first to set up the appropriate SP1 QFE repository.
Installing SP1 updates into an SP2 database typically has no effect if you are using the database to build new configurations. This is because Target Designer always chooses the latest revision of a component when adding a component to a configuration. Because all SP2 components are of a later revision than SP1 QFEs, the SP1 QFEs are not used.
If you already have SP1 QFEs installed but are no longer maintaining or deploying SP1 run-time images, you can delete those SP1 QFE packages using Component Database Manager. When you do this, you may need to manually delete the SP1 QFE repository.
Q: What happens if I install SP2 updates into an SP1 database?
A: This is not recommended, as it is an untested scenario. You may have to apply a private SP2 hotfix to an SP1 image in order to solve a specific problem. As with all hotfixes, functionality is not supported by Microsoft and you are responsible for fully testing the hotfix to ensure that it fulfills your needs.
Q: In the past, QFE updates could be downloaded individually. Beginning in 2005, there is a monthly package that contains all QFEs that were ever created for a given service pack. What is the reasoning behind this?
A: This simplifies the number of steps required to update your database and reduces the chance that you might accidentally omit one or more security update or QFE. Newer QFEs frequently have dependencies upon older QFEs, so omission of one or more older QFE may cause system failures.
Q: What happens if I install SP2 on top of my existing SP1 and SP1 QFE updates database? How does this affect the ability of editing my old SP1 configurations?
A: Any new configurations built with your new database will use SP2 components. You will still be able to open, inspect, and build your old SP1 configurations. If you choose to update your old configurations to SP2, choose Upgrade Configuration from the Configuration menus to update all components in the old SP1 configuration to SP2. Do not partially update your old SP1 configuration to SP2.
Q: After updating to SP2, can I build new configurations using SP1 components?
A: No. You need to use an SP1 component database, without the SP2 update, in order to build new SP1 configurations.
Q: I installed the SP2 Tech Preview version of Windows XP Embedded Studio on top of a fully licensed version of Windows XP Embedded Studio with SP1. Is it possible to build a non-evaluation version of an image, which will contain a full PID for the build?
A: Yes. The capability of whether you can build an evaluation image or a licensed image is determined by the version of SP1 product that you had before you updated to SP2.
Common Problems and Solutions
Problem: You see this message: Setup failed to configure the server. Refer to the server error logs and setup error logs for more information.
Solution: The new instance of MSDE is same as the previously removed MSDE instance name and data files of previous MSDE still exist in Data folder ( %\Microsoft SQL Server%). Delete the folder and reinstall MSDE.
Problem: You see this message: Cannot delete repository files in the target folder. Make sure you have write access to the files.
Solution: Windows Embedded Installer uses a lot of memory when installing SP2 database components (approximately 500 MB of RAM).This may cause the installation to abort if the paging file is very small. Any aborted installation may leave SP2 repositories in the folder. For any fresh installation, the two SP2 folders must be deleted.
This message also occurs if you had previously installed SP2 beta/technology preview and are attempting to install RTM on top of it. In order to install the RTM version, manually delete any prior version of SP2, as well as the following two SP2 repository folders:
Problem: You launched the Windows Embedded XP installer from a share to install the kit, or if you copied the CD content to a hard disk folder and launched it from there, and then later attempt to relaunch from a CD-ROM. This resulted in the message "Please insert disk:" with no further information listed when you try to reinstall MSDE.
Solution: When attempting to reinstall , use the CD instead of the share.
Problem: If you attempt to update the MSDE engine update found on CD2 of the SP2 kit, but you had not used the new SP2 CD1/CD2 to install SP1 (you have MSDE 8.00.760 installed because you are installing on top of your original SP1, or because you followed the downgrade procedure), the MSDE update process hangs reporting "0 seconds remaining" for a couple of minutes and then goes away.
Solution: This is a known problem. Installation should function regardless.
Problem: You see this message: Cannot connect to the database – please check the database. Setup cannot continue. WEUpdate Exiting with return code: 64
Solution: Machine needs to reboot or MSSQLSERVER service has to be manually started after MSDE is installed.
Note that Windows Embedded Update will always attempt to connect to, and then update, the database located on the computer name specified in Component Database Manager. It is possible that you have your embedded database installed on your local machine but tools are connected to the database on some remote computer. If this is true, then when you update your database, you will be updating your remote computer's database with SP2, and not the local database where you are running your installation.
When you see this error, Windows Embedded Database may be failing to connect to your remote computer's database. That remote computer or SQL service should be restarted, not the local machine.
This database update behavior is different than the MSDE or Tools Update/Installation, which always update your local system.