Deploying .NET Framework 3.0 Desktop Distribution Package on Windows XP Embedded SP2 Runtime

Introduction
With the recent release of .NET Framework 3.0 for Windows XP Pro, XP embedded customers have been requesting to have .NET Framework 3.0 support for Windows XP Embedded (or XPe) platform.
The objective of this article is to enable the users of Windows XP Embedded SP2 to install .NET Framework 3.0 on XPe runtimes using the .NET Framework 3.0 desktop distribution package for XP Pro.  

Components required to install .NET Framework 3.0 Desktop Distribution Package on XPe SP2 runtime
This section lists the components required to successfully install .NET Framework 3.0 desktop distribution package for XP Pro on a XPe runtime built with Windows XP Embedded SP2 database. The dependencies are categorized based on their origin.
Dependencies inherited from .NET Framework 2.0 component
Accessibility Core
Active Directory Service Interface (ADSI) Core
Base Performance Counters
COM+ Services
Common Control Libraries Version 5
Common File Dialogs
Distributed Transaction Coordinator (MSDTC)
Down-level Shell Compat
GDI+ XP
HTML Help Engine
Internet Explorer
Local Security Authority Subsystem (LSASS)
Message Queuing (MSMQ) Core
Microsoft Data Access Components (MDAC)
Microsoft Management Console (MMC)
Microsoft Visual C++ Run Time
Microsoft-Windows-HTTP
Ole Automation
Performance Counter Configuration
Performance Data Helper
Primitive: Cabinet
Primitive: Crypt32
Primitive: Dbgeng
Primitive: Dbghelp
Primitive: Imagehlp
Primitive: Imm32
Primitive: Mpr
Primitive: Msi
Primitive: Mswsock
Primitive: Netapi32
Primitive: Ntdll
Primitive: Ole32
Primitive: Oleaut32
Primitive: Psapi
Primitive: Secur32
Primitive: Security
Primitive: Setupapi
Primitive: Shell32
Primitive: Shlwapi
Primitive: Userenv
Primitive: uxtheme
Primitive: Version
Primitive: Winspool
Primitive: Wintrust
Primitive: Ws2_32
Primitive: Wsock32
Primitive: Wtsapi32
Remote Registry Service
Rich Edit Control Version 3.0
RPC Local Support
Urlmon Library
Windows API – Advanced
Windows API – GDI
Windows API – Kernel
Windows API – User
Wininet Library
WMI Core
WMI Tools
WMI Win32 Provider
Additional .NET Framework 3.0 dependencies
OLE Dialog Interfaces
Primitive: CryptUI
Primitive: Msimg32
Primitive: Winmm
System Restore Core
Video For Windows Core
.NET Framework 3.0 installer dependencies
Registry Editor
Windows Logon
General Installer Dependencies
Windows Installer Service

Preparing the XPe SP2 image for .NET Framework 3.0 installation
Method 1:

  1. Use Target Designer or XPECMD to add the above listed components to the new or existing XP Embedded SP2 configuration.
  2. Resolve dependencies, build the image.

Method 2:

  1. Use component designer to create a macro component and add the above listed components as dependencies.
  2. Import the component SLD file into XPe database using Component Database Manager.
  3. Use Target Designer or XPECMD to add the newly created macro component to the new or existing XP Embedded SP2 configuration.
  4. Resolve dependencies and build the image.

Deploying .NET Framework 3.0 desktop distribution package for XP Pro on XPe SP2 runtime

  1. Download the .NET Framework 3.0 desktop distribution package for XP Pro from Microsoft’s Download download site.

     

    • The distribution package is an executable program that is available in two versions: a full package called dotnetfx3.exe (52,770,576 bytes) (scroll down the page to find a link to it called X86 Redist Package) and a web install package called dotnetfx3setup.exe (2,945,816 bytes).
    • NOTE: The above download location can be used for testing and developing purposes but these bits cannot shipped on a device. We are working on getting .NET Framework 3.0 posted to the ECE site with the appropriate licensing so that it can be incorporated in devices that ship.
  2. In order to install .NET Framework 3.0 using the web install package, you must add Background Intelligent Transfer Service (BITS 2.0) component to the XPe runtime and the XPe runtime must have internet access. The upside to using the web install version is that it downloads the installers for only those components that are not already installed on the system whereas the full install version comes with the installers for all the required components (e.g. if .Net Framework 2.0 is already present on the XPe runtime, the web install version will not download the installer for .Net Framework 2.0 which is otherwise a part of .Net Framework 3.0 install). Also, see the next topic Installing .NET Framework 3.0 language packs.

    •     In order to install .NET Framework 3.0, you must have about 500MB (size of package exe not included) of free disk space on the XPe runtime. Adding language packs will increase the disk space requirements.
  3. Copy the downloaded exe to the XP Embedded image created in the previous section.

  4. Deploy the XP Embedded image to the target device and after the FBA phase is finished, run the .NET Framework 3.0 distribution package exe (the command-line switch /q can be used for silent install e.g. dotnetfx3.exe /q). 

Installing .NET Framework 3.0 language packs

  1. Download the required language pack from OEM secure download site and copy it to your XPe runtime.
  2. Run the language pack after successfully installing .NET Framework 3.0 on your XPe runtime.

Note: If you plan to run the web install package for installing .NET Framework 3.0 on your XPe runtime, the setup package detects any MUI packages installed on the XPe runtime and should automatically install the corresponding language pack for .NET Framework 3.0.
 
Deploying .NET Framework 3.0 applications on Windows XP Embedded SP2
The .Net Framework technology, Windows Presentation Foundation (WPF) is heavily dependent on DirectX 9.0. In order to support the rich functionality of WPF, DirectX 9.0c component must be added to the XP Embedded configuration.

In order to host a Windows Communication Foundation (WCF) service in IIS, IIS Web Server must be present in the XPe runtime prior to .NET Framework 3.0 installation. This is required to enable web host script mappings.

The list of component dependencies provided in this article is sufficient to install .NET Framework 3.0 on an XPe runtime and run basic .NET Framework 3.0 applications. In order to deploy applications using rich features of WPF, WCF, WF and WCS, you might also need to add other components like IIS, IE 7, WMP 10 and MSMQ to your XPe runtime.  

- Shweta