Installing Exchange 2010 in 20 Minutes or Less

This morning I set out to install Exchange 2010 on Server 2008 R2 and I was amazed I actually had this up and running within 20 minutes of booting my guest virtual machine. I have not looked in to many of the technical advantages of R2 over R1 for Exchange yet, but I can say that the installation requires a lot fewer prerequisite installs than on Server 2008 R1. Here's a quick guide to getting up and running on R2 with all the server roles installed.

  • Install a Server 2008 R2 RTM server. I'd recommend using Enterprise Edition so you can add a 2nd Exchange server later and test out the DAGs. I had a Sysprepped image I was able to boot up and join to the domain very quickly.

  • Copy the Exchange2010-RC1-x64.exe file to your server and run it. Choose a location to extract the files to.

  • Open a command prompt with administrative privileges and navigate to the folder where you extracted the Exchange files.

  • Issue the command: servermanagercmd.exe -ip scripts\exchange-all.xml

  • Ignore the warning about servermanagercmd being deprecated and restart the server when the installation completes.

  • Open the Services MMC.

  • Change the Net.Tcp Port Sharing Service startup type to Automatic. The prerequisite check for the CAS role requires this to be set.

  • Open a command prompt with administrative privileges and navigate to the folder where you extracted the Exchange files.

  • Issue the command: setup

  • Click Choose Exchange language option and then click Install only languages from the DVD.

  • Click Install Microsoft Exchange.

  • Click Next.

  • Accept the license terms and click Next.

  • Select Yes to enable error reporting and press Next.

  • Select Custom Exchange Server Installation and press Next.

  • Select the Mailbox Role, Client Access Role, Hub Transport Role, Unified Messaging Role and Management Tools. Press Next.

  • Name the Exchange organization and press Next.

  • Select No for Outlook 2003 clients or Entourage (pre-Web Services edition) and press Next.

  • Check the box Client Access server role will be Internet-facing, enter your public URL ( and press Next.

  • Select the option to join the CEIP and press Next.

  • After the prerequisite check completes click Install.

  • You can see my installer completed in about 12 minutes, which is pretty damn cool. This was a VM with 3 GB of RAM with its VHD on a RAID 10 set. Imagine if this was a production machine with a real amount of RAM.


    OAB Never Downloads for Outlook 2007 Clients with Exchange 2007 on Server 2008

    Update: This post gets a lot of traffic, but I want to be clear the first step here is no longer required. Simply perform the solution at the end of the post.

    This one killed me today. Exchange 2007 SP1, with Rollup Update 6 on Server 2008. Everything working perfectly with one exception – the offline address book (OAB) never downloads from the file distribution point for Outlook 2007 clients. Works fine via public folders, but not web-based. No error, no timeout, no progress indicator, no login prompt, Outlook just looks like it’s endlessly trying to download the OAB. I double-checked all the URLs, flipped around SSL settings, but still couldn’t figure out why it wouldn’t download. I would have been happy to see an error so I had something to search on. There were actually 2 problems here that made the situation a real pain in the ass.

    First – the same bug that affects Outlook Anywhere on Server 2008 apparently does a number on the OAB too. The solution is to turn off kernel-mode authentication in IIS. Run this command to fix that issue and you’re halfway there. I ran across some blog that mentioned Rollup Update 7 may include this change by default.

    C:\Windows\system32\inetsrv\appcmd.exe set config /section:system.webServer/security/authentication/windowsAuthentication /useKernelMode:false

    Second – I had enabled a redirect at the Default Web Site root to dump clients to the /owa folder gracefully using the Microsoft methodology at Technet. If you read the procedure you’ll notice setting the redirect at the root sets the same redirect on every single virtual directory. So, you need to go in to each virtual directory and undo the change you made for the root. This works fine, or appears to until your Outlook 2007 client tries to download the OAB and hangs forever.

    I brightly plugged the URL to the OAB.XML file into IE and was greeted with a 500 – Internal Server Error message without an authentication prompt. That didn’t seem right. After some searching I realized the reason why Outlook hangs forever is that it tries to hit this URL, gets denied, uses some back-off logic, and tries again. I believe the back-off gets longer and longer each time it fails.

    What happens is that when you disable that redirect for the OAB virtual directory IIS 7 generates a web.config file in the C:\Program Files\Microsoft\Exchange Server\ClientAccess\OAB folder. This seems logical, as it overrides the redirect at the root level, and is necessary. Unlike every other web.config that is generated in the other folders like Autodiscover and OWA, Authenticated Users do not have read access to the file. This is why Outlook and IE can’t even access the /OAB virtual directory.

    The fix is pretty easy. Open the web.config in the OAB folder, and give Authenticated Users both the read and read and execute permissions. Run a iisreset /noforce on the CAS server to bounce IIS. Just for good measure, on the client side I wiped out the Outlook profile, and the contents of the %USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook folder. Once I recreated the profile the OAB downloaded just fine. All in a day’s fun…