Last week's column ("The Inheritance Tax," August 17, 2006, InstantDoc ID 93236) about the "inheritance tax" companies pay when a new administrator inherits an improperly configured (or even just messy) Exchange system garnered some great responses, including some bone-chilling tales of horrors caused by administrators who were actively incompetent (as opposed to just untrained or ignorant). Once my skin stops crawling, I'll probably write up a few as examples of how not to administer an Exchange system.
This week, though, I wanted to talk a little bit about an odd problem I had with the beta versions of Microsoft Exchange Server 2007 and Microsoft Office Outlook 2007 and how I eventually found the solution. To put the following discussion in context, I've been using Outlook 2007 with Exchange 2007 for demos and testing since their first betas, and they've always worked well together. One demo I commonly do is to set up an Exchange 2007 mailbox, then show how the Outlook 2007 Autodiscover feature can automatically configure a client-side profile.
For those who haven't seen Autodiscover in action, here's how it works. You enter an email address and password, then Outlook 2007 performs a DNS query to find the Autodiscover server for that domain, authenticates the user to the server, and requests a configuration manifest. The manifest contains information about the Client Access server that the requested mailbox is supposed to use, along with URLs for the Offline Address Book (OAB) distribution point (if Web distribution is enabled), the Availability service, and a few other similar features. Outlook 2007 uses the manifest file to create the client profile. Autodiscover makes setting up Outlook profiles much easier than it used to be, and Outlook 2007 is even smart enough to fill in the username for you under some circumstances.
So there I was, using Outlook 2007 Beta 2 and Exchange 2007 Beta 2 to set up a demo lab for a customer. The install didn't go smoothly; I'd set up a group of virtual machines (VMs) on the customer's SAN, and a SAN configuration error resulted in a corrupt VM. The damaged image happened to be the Exchange VM, so I set out to rebuild it using the /m:recoverserver switch of Exchange's new setup utility. The process didn't go as smoothly as I'd hoped, so I filed a few bug reports.
I then removed the Exchange objects from the Active Directory forest and reinstalled Exchange. However, after I did so, I couldn't use Autodiscover to set up Outlook profiles. Outlook would only produce an error dialog box that said "The bookmark is invalid." That's not the worst error message I've ever seen, but it's certainly in the top 20. What bookmark? Why is it invalid? What can I do about it? At least it didn't tell me to contact my Exchange administrator for help!
I tried to use Outlook's built-in tool for testing Autodiscover. (If you haven't seen the tool, press Ctrl while you right-click the Outlook icon in the system taskbar, then select Test E-mail AutoConfiguration from the context menu.) The test tool has helped me pinpoint Autodiscover problems in the past, but it had a critical failing in this situation: You can't use it until you've created an Outlook profile, and I couldn't create a profile because of the bookmark error. That seemed like a bug to me, and I reported it as such.
The bookmark error message wasn't helpful, and I didn't find anything useful in the documentation or on the Internet. I discussed the problem with fellow Exchange Most Valuable Professional (MVP) Ben Winzenz, who mentioned that he'd had a similar problem when the default Global Address List (GAL) hadn't yet been built. His comment made me think that perhaps the GAL was to blame, so I rebuilt it, but that didn't fix the problem. However, Outlook MVP Nikki Peterson mentioned that she'd seen a similar problem with Outlook 2003 when a client tried to use an OAB without having the correct permissions. I checked, and sure enough, there was no default OAB. I deleted and recreated the default OAB entry and forced Exchange 2007 to rebuild it, and voila! Outlook let me create a profile, and all was well.
Because Exchange 2007 is beta software, I'm not too concerned that I hit this problem; these kinds of minor hiccups are par for the course when you're using a beta client against a beta server. However, Outlook 2007's meaningless error message made troubleshooting the problem harder than was strictly necessary. If you're beta-testing Outlook 2007 (or any other product, for that matter) and you find an unclear or unhelpful error message, file a bug report. We joke about bad error messages all the time in our industry, but the joke is wearing thin. Let your software vendors know that clear, informative error and status messages are important, and they'll respond by including them.