Starting off a series of posts dealing with Exchange 2007 setup, we wanted to talk about setup phases and what they do.

Setup BootStrap process

Setup.exe is a wrapper for additional executables and libraries. Setup.exe calls in to the boot strapper process which consists of a core set of software prerequisites including:

  • Microsoft Management Console 3.0
  • Microsoft Windows PowerShell
  • Microsoft .NET Framework 2.0

The start page (also sometimes internally referred to as the "Canopener"), presents links to the Exchange Server Deployment guide as well as links to the dependency applications needed to run Exchange Server 2007.

Setup will not proceed from this page until all dependency applications have been installed. When a component is installed correctly, the item will be "grayed" out, as shown below. Once all dependencies are installed the Exchange installation can proceed.

File copy phase

  1. The core installation files are copied from the source media into '% TEMP %\ExchangeServerSetup\' directory.
  2. The BPA XML file set is copied into a culture-specific subfolder such as 'en'.

Note: If Setup is running from a local source (i.e. the DVD or a local copy) then this file copy process is skipped. The only exception is if there are .msp or .exe files in the Updates directory, in which case Setup will copy to a Temp directory as described.

Setup wizard

After the file copy process is complete the setup GUI wizard starts (ExSetupUI.exe) as pictured below:

Readiness check

Upon selecting server roles, setup will proceed to make readiness checks. These checks are based on the required configuration for common components and specific configurations for server roles. This process is handled by the Exchange Best Practices Analyzer engine.

Setup uses the task called test-setuphealth to begin the readiness checks. This cmdlet calls BPA into action. The intended server role, type of scan and installation phase is passed into the cmdlet as parameters as follows:

Test-SetupHealth -Roles <role>[,<role>] -ScanType <scan> -Server <localservername>

For example, to install the mailbox role, setup will call:

Test-SetupHealth -Roles Organization -ScanType PrecheckInstall -Server SERVERA

Test-SetupHealth -Roles Mailbox -ScanType PrecheckInstall -Server SERVERA

Exchange 2007 also uses the ExBPA engine to perform prerequisite checks for Exchange Setup. Located in the C:\ExchangeSetupLogs folder is a subfolder called PreReqs. This folder contains the prerequisite XML output from each setup run. These output files are similar to ExBPA output XML files found in %APPDATA%\Microsoft\ExBPA.

Once set up has passed the readiness check phase setup will delete the temporary files used for setup and move to the core setup or installation phase.

The following diagram summarizes the setup phases:

We will continue this series with a look into different logs that setup creates and how to use them when troubleshooting problems.

- Jon Bradley, Nagesh Mahadev, also thanks to Malvin M. Seale