Tuesday, November 20, 2007

Reverting from Office 2007 to Office 2003: MAPI32.DLL vs. MSMAPI32.dll

When my XP boxen go to heck, they do it all at once.

One one front I'm a defeated geek. I had to abandon hope for my "possessed" (really, it is) corporate Dell Latitude (XP SP2 +) -- I'm now wiping the drive and starting over. This is the first time in years of fighting with Microsoft's OSs that I've actually capitulated up and wiped a drive. There was something eating away at the process that authenticated me as an administrative user, with lots of curious side-effects.

The other problem seemed simpler. Access 2007 is a dud, and the rest of Office 2007 is nothing to write home about. It was time to revert a Windows 2003 server to Office 2003.

Easy, I thought. Just uninstall, restart to be safe, install Office 2003 Pro and then apply Office SP 3.

Wrong. I was getting "MAPI32.DLL is corrupt or the wrong version" error messages.

I hate those. They bring back bad memories of running Outlook and Eudora in the old days. MAPI32.DLL was one of Microsoft's tools to kill the competition.

I followed the old trick of locating and renaming MAPI32.DLL. No joy.

Turns out the error message is a fraud. The real problem is another file (emphases mine)
2. Locate and then open the following folder on your computer:
C:\Program Files\Common Files\System\Msmapi\1033
3. Right-click the MSMapi32.dll file, and then click Rename.
Note The file (Msmapi32.dll) that you are renaming differs from the file (Mapi32.dll) that is mentioned in the error message.
4. Type Msmapi32.old, and then press ENTER to rename the file.
5. Start Outlook 2003.
I want to cry. Really, the wrong file name in the error message? Oh, and the kb article is wrong. The bug isn't with the beta version of Office 2007, it's with any version.

That worked, but on Outlook startup I got two messages something like this:
ordinal 7867 cannot be found in mso.dll
Try googling on that one! Nothing I could find.

Outlook then said some app was messing it up and offered to repair the problem. That worked.

Now to go back to spend the rest of my day trying to restore my primary XP workstation. So much for my planned vacation day tomorrow.

People used to wonder why I didn't like Microsoft products. I don't get those questions any more. I read recently that some preposterous number of IT execs are actually considering replacing some of their XP machines with OS X or Linux. I assume they're venting and bluffing, that seem a true mission impossible.

On the other hand, if I were doing a small business startup, I'd be building around OS X workstations running XP in a VM. Use OS X whenever possible, but have XP around to run Office 2003 and any vertical apps that are essential. Whenever XP misbehaves, just delete the VM and stick in a new one.

PS. I checked what happened to the original MAPI32.DLL I'd pointlessly renamed. It was dated 3/25/2003. A new one was created of a slightly different size dated 2/17/2007. I also found yet another MAPI32.DLL dated 12/10/2002. It's not too early for a drink is it?

Update 1/4/07: Despite the above, I still couldn't SEND email. I use Outlook primarily from my laptop, so I let this problem fester for a while. Today I removed my Exchange configuration from that instance of Outlook and deleted an old pst file I was using. I then restored the Exchange connection. Now I can send, but I notice that 'cached exchange mode' is no longer available.


John said...

Superb answer - worked a treat. Many thanks

Anonymous said...

I know this is an old post. . .but, I did the same thing recently - reverted back to Outlook 2003 from 2007. It didn't happen immediately, but I started getting errors (Outlook encountered a problem. . .)and couldn't get into my mail. I tried every fix I could find, including the MSMAPI32.dll with no joy. Right after I tried your fix and still couldn't open Outlook, I decided to scan the pst files (I have two), suspecting they were the problem. Sure enough, fixing errors in the .pst files did the trick! Yea!! To locate and scan your .pst files go to: C:\Program Files\Common Files\System\MSMAPI\1033\scanpst.exe. Launch the exe file, point it to your .pst file and scan. It will offer to fix the errors it finds and if this is the problem, you should be good to go. Thanks for the post.