Windows XP installation Instructions

I have got a few request about people not being able to install Commerce Server 2007 on Windows XP. The simple reason for having difficulty installing Commerce Server 2007 on Windows XP is that there are few differences between Windows XP and Windows 2003 sp\R2 that are not well documented. I will make an attempt to walk you through step by step on installing Commerce Server 2007 on Windows XP.

Why Install on Windows XP

Before we dive deep into the installation of Windows XP, I want to make it clear as to why install Commerce Server 2007 on Windows XP.

  • Minimize cost, Windows 2003 licenses is more expensive than Windows XP.
  • If you are building Proof of Concept (POC) you want to install it on your desktop make it easy to switch between presentations and demo of your POC.
  • Demo features and functionality of Commerce Server 2007 using Starter site.

All of the above reasons for installing on Windows XP are fine except minimizing cost and having your development environment as Windows XP. Take a moment and understand the following risks:

  1. Debugging and reproducing production issues are harder because of differences of Windows XP and Windows 2003.
  2. Uncertainty of your developed code will work on production environment, since there are differences between the operating systems the confidence level is not 100% that your code developed on Windows XP to work without issues on Windows 2003 due to configuration and other issues.

How to mitigate the above risks? Simple use virtualization. Huh, what's that? Use Virtual PC, Virtual PC allows you to maintain the compatibility of legacy and custom applications by providing an environment to host new operating systems on your current machine and the best part is Virtual PC Is Now Free!

 

So I want to reiterate that I highly recommend that you keep your development environment in the same file, network, secure deployment and software configuration as your production, this makes trouble shooting and reproing bugs that much easier and finding bugs before they go to testers.

Virtualization notes:

If you are going to reproduce your production environment by having two or more Virtual systems then make sure that you have RAM and drive Space. The more RAM and storage you have the more Virtual systems you can host. On my Windows Vista I have two gigs of RAM and an external USB drive with 8 megs of Cache and 7300 RPM. I can run three Virtual System without any problem. One System host my Windows Active Directory which I allocate 256K of RAM, this system is only used for authentication so it doesn't need a lot of memory. My other system is used to launch my business user application I allocate 512K of RAM again this system is used to manage my catalog, marketing, profiles and orders. On the third system I have my site and web services where I do all my development. On this system I use 1024K of RAM. On this system you need to configure so that SQL only take a small amount of memory turn off services that you don't need. Don't install services that are not required, the smaller you can make your image that better it will perform. On a regular basis run defrag in the Virtual System then compact the drive, you will also need to run defrag on the USB drive. These procedures need to happen on regular basis otherwise you will suffer performance.

Prepare you System

In these steps it's assumed that you have a system that meets the Windows XP requirements and have installed Windows XP. This installation also assumes single server deployment.

Windowsupdate

We need to get your system up to date with latest fixes, navigate to Windows update and get all critical updates. You may need to reboot your system based on updates for your system.

Install Windows component

You need to install and enable IIS for your Windows XP.

  1. Place the Windows XP Professional CD-Rom into your CD-Rom Drive.
  2. Click Start then navigate to Control Panel.
  3. Open Add/Remove Programs from the Control Panel.
  4. From the Add/Remove Programs dialog Click Add/Remove Windows Components.
  5. From the Windows Components Wizard dialog check Internet Information Services (IIS) leaving all the default installation settings intact. Then select Next.

Install .NET framework 2.0

  1. Go here to download the Microsoft .NET Framework Version 2.0 Redistributable Package (x86).
  2. Once you have downloaded the .NET 2.0 Framework double click the dotnetfx.exe where you saved the file to install.

If you installed the .NET Framework as part of the Windowsupdate then you sill need to run the following command:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Note: The above command install this version of ASP.NET and update scriptmaps at the IIS metabase root and for all scriptmaps below the root. Existing scriptmaps of lower version are upgraded to this version.

Install SQL Server

  1. You can select to install either SQL Server 2000 or 2005 (Follow the installation instructions for either SQL servers).
  2. Install the latest service pack for SQL.

Install Visual Studio 2005 [Optional]

  1. Install Visual Studio 2005 if you are going to do any development.

Install Commerce Server 2007

  1. Install Commerce Server either select  the default setting or choose additional features.

Install Business User Application [Optional]

  1. Install Commerce Server Business user Applications.

Install Hotfix

Install the following hotfix:

  1. Update for Commerce Server 2007 (KB912817)
  2. Error message when you import a catalog in Commerce Server 2007 on a Windows XP-based computer: "The product catalog was not imported successfully"

Configure Commerce Server

  1. Click Start, point to All Programs, point to Microsoft Commerce Server 2007, point to Tools, and then click Configuration Wizard.
  2. On the Welcome to the Microsoft Commerce Server Configuration Wizard page, click Next.
  3. On the Administration Database page, fill the SQL Server property values and select Windows Authentication. Click to test the connection to the Administration database. Then Click Next.
  4. If you have selected to install the Commerce Server Direct Mailer, fill the default property values and use Windows Authentication. Click to test the connection to the Direct Mailer database. Then Click Next.
  5. On the Summary page, review the components that you are configuring.
  6. Click Next to configure the components.
  7. Click Finish to complete the Configuration Wizard.

Unpackage CSharpSite

  1. Navigate to C:\Program Files\Microsoft Commerce Server 2007\Pup\ and double click CSharpSite.pup.

  2. From the Pup dialog select Quick unpack and all defaults and continue next.

  3. Data Warehouse is not supported on Windows XP and the CSharpSite has a reference for the Data Warehouse Module in the web.config and must be removed or remarked.

    <!--
    <add name="CommerceDataWarehouseAuthenticationModule" type="Microsoft.CommerceServer.Runtime.CommerceDataWarehouseAuthenticationModule, Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    -->

Secure CSharpSite

  1. Assign Write Permissions.
  2. Windows XP does not have Authorization Manager Installed by default so you need to download the following Windows Server 2003 Administration Tools Pack. Then follow the instructions for Add Users or Windows Groups to the Authorization Roles.
  3. Grant Web Applications and Windows Services Access to the Databases.
  4. Configure a Temporary SSL Certificate.
  5. Windows XP does not have Application pool therefore you must perform the following steps for the CSharp Web Services and CSharp Site.
    • Download the Aspnet_setreq.exe package

    • Read the following KB to use an identity tag in the web.config for ASP.NET process How to use the ASP.NET utility to encrypt credentials and session state connection strings

      After completing step five you should have the following in all your web.config files for all Commerce Sites and Web Services.

      <identity impersonate="true" userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" />

      So instead of creating Application Pools and setting accounts we set the identity tag in the web.config.
       

  6. Make sure to give ASPNET account read access to the registry key.
  7. Restart IIS and Verify Installation of Web Services.

Test your Installation

  1. Browse the defautl.aspx page under CSharpSite. Make sure there are no errors.
  2. Launch the Business User Applications and Make sure that there are no errors.

Trouble Shooting your Installation

  • Run SQL Profiler to determine what account is accessing your Database.
  • Go to Windows Sysinternals home page and download the monitoring tools like regmon, filemon and others.
  • View the pup log for errors.
  • Check the web.config to make sure you have an identity tag.
  • Make sure that you have remarked or removed the Data Warehouse Module.
  • Make sure that you have the correct accounts enrolled in Authorization Manager.
  • Make sure that you have set the correct permissions on the XML authorization file.
  • Make sure that you have executed aspnet_regiis.exe -i command.
  • Make sure that you have set the correct permissions on the registry for each identity in the web.config.

Summary

So now you have a Commerce Server 2007 installed on Windows XP. Good luck.