Sunday, 13 September 2009

Outlook Anywhere fails after Exchange 2007 SP2 Install

I recently upgraded an Exchange 2007 install from SP1 to SP2, and hit a couple of issues during the install. In order to perform the install I followed the steps listed here; along with uninstalling every UM Language Pack except for en-US. Everything was going fine until running the SP2 installer.

The installer reached the “Removing Files” step which I believe is either step two or three (At this stage I had not decided to blog about it so didn’t take any notes). At this stage the installer failed and prompted to restart the machine and run the installer again at this stage it started to go down hill.

After restarting and attempting to run the SP2 install I hit an error saying the install could not continue with this error:

“The Exchange binary files are not installed, but the backup settings registry key is present.  Only build-to-build upgrade mode is available”

On taking a look through the Exchange Program Files location the binary files were missing, needless to say this did cause a few moments of worry. Since I had not come across this issue before, I turned to the Internet and found this Microsoft Article, it refers to SP1, but was able to fix my current issue. After copying Exchhelp.chm to the correct location and starting the 3 IIS Services I was able to continue with the install.

The TechNet Article instructs you to extract the files from the Exchange Service Pack exe, you should have already performed this step to run the installer; also since the Exchange Binaries have been deleted you can not start the Services, but they do need to be set to Automatic.

After this I was able to run the upgrade, I did hit issues though I had to keep setting the services to Automatic from Disabled, this was due to each Role disabling them as the Service Pack was applied and then failed if they were not set to Automatic (Manual would probably have worked as well) by the time that role had been updated, this was annoying and not all services needed to be changed back to Automatic but without an exact list to work from, changing them all seemed the easiest option.

By this stage the Service Pack installed and everything appeared to work, email came and went, users were able to receive email using Outlook and OWA. Well via Outlook if they had a connection to the Corporate Network, Outlook Anywhere had stopped working; and my Event Log had started getting very full. The Event Log filled up with two errors

The first error had an Error ID of 2214 and a description of:

“Could not load all ISAPI filters for site 'DEFAULT WEB SITE'.  Therefore site startup aborted.”

The second error had an Error ID of 2268 and a description of:

“The HTTP Filter DLL C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa\auth\owaauth.dll failed to load.  The data is the error.”

Again I had never come across this issue before and found a posting on the Microsoft Exchange Discussion Forums, which can be found here; the thread lists two solutions the one highlighted in the link worked for me.

The post indicates that extrace.dll needs to be copied to a location where the system was looking for it, after running Process Monitor the extrace.dll was being looked for in each folder in the system path; this did include “C:\Program Files\Microsoft\Exchange Server\Bin”, this path actually had the extrace.dll file in it but for some reason was not being found. After copying extrace.dll to c:\windows\system32 Outlook Anywhere started to work.

After everything started to work I wanted to replicate the issue, so I removed the extrace.dll file from c:\windows\system32 and Outlook Anywhere still worked, restarted IIS and it still worked, rebooted and it still worked.

Running Process Monitor again it appears that the extrace.dll file in “C:\Program Files\Microsoft\Exchange Server\Bin” is being found and used. I am not sure why it failed in the first place but now it appears to be finding the file correctly, letting it find and use the file in “C:\Program Files\Microsoft\Exchange Server\Bin” means the file will be updated by future updates.

I am unsure if a reboot after the Service Pack installed would have fixed the issue with Outlook Anywhere, until I find another system with the same issue, all I can do is wonder.

Hopefully this post will fix someone’s issue and if I find a reboot fixes the issue I will update this post.

On a final note I highly encourage people to use Process Monitor and all the Sysinternals Tools, they can often save a great deal of time.