Welcome to MSDN Blogs Sign in | Join | Help

This Just In: MAPI and Windows Server 2008 Now Get Along

The MAPI/CDO download package now works on Windows Server 2008 and Vista. The main blocker to getting this to work was the fact that in Windows Server 2008 and Vista, mapi32.dll was marked as a system file. Any attempt to replace it would be blocked or undone. Exchange's MAPI has always replaced mapi32.dll with its own version, so it couldn't work on those operating systems.

The fix is modify Exchange's MAPI to take advantage of the MAPI Stub Library mechanism. We moved Exchange's MAPI binaries out of system32/syswow64 and placed them under C:\Program Files\ExchangeMAPI ("Program Files (x86)" on a 64 bit machine). We also renamed Exchange's mapi32.dll binary. It's now called ExMAPI32.dll.

Some notes:

  • If you've installed an earlier version of this download on a machine and wish to upgrade, you must uninstall the earlier version first. It will not upgrade in place, and may even claim to have successfully installed.
  • Mapi32.dll in the system directory should be version 1.0.xxxx. If it's 6.5.xxxx, then the stub is not in place. Use FixMAPI.exe to correct this before installing the updated MAPI download.
  • The version number of the Windows Server 2008/Vista compatible download is 06.05.8022.0.
  • MAPI and CDO are still 32 bit only - it will install and work on a 64 bit machine, but only when used from a 32 bit program.
  • MAPISVC.inf in the system directory will be updated with Exchange's providers, but the date may not be changed. I just noticed this when testing the installer on a machine here.
  • The installer adds the MAPI install directory to the PATH statement. This MUST NOT be removed. It is required to allow DLL dependencies to work correctly.
  • Session 0 Isolation causes problems with our fix to the deleted profile issue. With that fix in place, a normal user (who lacks SeCreateGlobalPrivilege) wouldn't be able to use MAPI at all. So we modified the fix to attempt the global namespace first (which will fail for a normal user), then fall back to a local namespace. This means it is possible for a normal user to log on to a server twice with Terminal Services and delete a profile from one session that is in use under another session. To help identify this scenario, there's a new error code which will be seen by MAPI applications if this happens: MAPI_E_PROFILE_DELETED (0x80040204).
  • The download enters Extended Support in April 2009. That doesn't mean the download will be removed then, but don't expect updates to it.

Update: Looks like the Ehlo blog picked this up. Welcome Ehlo readers! I was involved in getting this update done, so lemme know if you have any questions.

Published Monday, June 02, 2008 11:02 AM by Stephen Griffin

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Stephen,

Any time period  for 64 bit MAPI release  ??

Regards

Sridhar

Tuesday, June 03, 2008 12:45 PM by Sridhar

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

There have been no announcements regarding a 64 bit MAPI.

Tuesday, June 03, 2008 1:18 PM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Has anything else changed in this update or is it just introducing Windows Server 2008/Vista support?

Tuesday, June 03, 2008 1:43 PM by J

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

In addition to the session 0 isolation issue, we also fixed an unreported crash scenario. The move from system32 to program files is a fairly large and potentially destabilizing move though. You should definitely test your applications with this update.

Tuesday, June 03, 2008 1:53 PM by Stephen Griffin

# How To Break The MAPI Stub Library

Well, that didn't take long. We just released of the latest MAPI download this weekend and yesterday

Wednesday, June 04, 2008 1:08 AM by SGriffin's [MSFT] WebLog

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

It appears that one of the new dll's is changing the current working directory of the loading process to "C:\Program Files\ExchangeMAPI" and breaking some applications.

Also, adding this directory to the path will not work in all/most cases since windows\system32 precedes it.  Uninstalling the previous version (7974) did not remove the dll's from the windows\system32 directory... perhaps that is why the current working directory is changed?

Wednesday, June 11, 2008 2:20 PM by JP

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

I didn't think we were changing the working directory, but I'll check on that. On the uninstall, if an application was using the DLLs then they'd have to be scheduled for deletion on reboot - perhaps that's why the uninstall failed?

Wednesday, June 11, 2008 2:36 PM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

I just did a quick test program and its MAPIInitialize() that's changing the directory.

Wednesday, June 11, 2008 3:04 PM by JP

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

is there a new version of MERGEINI that would work with WS 08?

http://support.microsoft.com/kb/294470

Friday, June 20, 2008 5:59 PM by Lev

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Wow - haven't seen that tool in ages. All it does is simple text manipulation. In fact, since mapisvc.inf is nothing more than a .ini file, the Windows INI functions work (http://msdn.microsoft.com/en-us/library/ms725501(VS.85).aspx). See HrSetProfileParameters in the MFCMAPI code.

Friday, June 20, 2008 6:13 PM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

I just installed Backup Exec 12 on my 2008 server running Exchange 2007.  I have been bouncing back and forth between Microsoft and Symantec trying to get v12 to restore mail boxes.  Symantec is blaming MAPI and Microsoft insists MAPI is configured properly.  Based on your notes everything appears correct, but Symantec believes that having MAPI32.DLL and MAPISTUB.DLL (both v1.0.2536) in the SysWOW64 folder is an issue.  I am stuck in the middle with no clue what to do.

Monday, June 30, 2008 5:15 PM by RDMTECH

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Send me a mail with your case number and I can check on the status from our side.

Monday, June 30, 2008 6:04 PM by Stephen Griffin

# Pre Vista Fix MAPI Download Still Available

Sorry for not posting this sooner - I just found out about it today. As I noted previously , we recently

Wednesday, July 30, 2008 10:37 AM by SGriffin's MAPI Internals

# Exchange System Manager for Vista

We recently released a downloadable Exchange System Manager (ESM) for Exchange 2003 which can be installed

Monday, August 25, 2008 12:04 PM by SGriffin's MAPI Internals

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

The ESM for Vista won't install on a W2K8/x64

machine.  It complains "You are not running Vista".  Will there be an update to correct his?

Thanks.................Chuck

Thursday, October 23, 2008 3:56 PM by Chuck

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

The ESM for Vista is just that - it's a version of ESM designed to install and run on Vista. For W2k8 you can just install the regular ESM from the Exchange CD.

Thursday, October 23, 2008 4:48 PM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

ESM 2003 won't install on W2K8/x64.

It complains: "Program is Blocked due to compatibility issues". I have not found any info

on M/S site (yet) about this issue.

Friday, October 24, 2008 7:21 AM by Chuck

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Exchange 2003 isn't compatible with Windows 2008. But Exchange 2007 is. See http://msexchangeteam.com/archive/2007/08/16/446709.aspx.

Friday, October 24, 2008 9:25 AM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Any issue installing this on Exchange 2007 mailbox servers, to enable a vb script that was developed before MRM to be run on the local server?

Friday, October 24, 2008 1:14 PM by Jeff

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

I am trying to install "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1" (http://www.microsoft.com/downloads/details.aspx?familyid=E17E7F31-079A-43A9-BFF2-0A110307611E&displaylang=en) on 2008 SBS, and getting the error:

"Collaboration Data Objects 1.2.1 cannot be installed unless Microsoft Office Outlook 2007 is also installed".

The reason I ask is because my Symantec Backup Jobs are failing with:

"e0001207 - To support individual mailbox message and folder restores from Information Store backups, you must download and install the Microsoft Exchange Server MAPI Client and Collaboration Data Objects package version 06.05.7888 or later on the Exchange 2007 server ..."

Does anyone know of a way to install MAPI/CDO without installing Outlook 2007?

Friday, May 22, 2009 1:48 PM by Joe

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Joe - what you tried to install was ExchangeCdo.EXE and did not come from that link. You tried to install the CDO only package, which requires Outlook 2007. Redownload ExchangeMapiCdo.EXE and try it again.

Friday, May 22, 2009 2:00 PM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

installed onto windows 2003 standard 64bit.

the mapi extensions installed just fine but it did not register cdo.

manually registering c:\"\Program Files (x86)\ExchangeMapi"\cdo.dll fixed that.

Monday, August 31, 2009 6:43 PM by Jeremy

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

RE Not registering CDO: I've not run across that in my testing.

Tuesday, September 01, 2009 9:17 AM by Stephen Griffin

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

I'm apparently having issues with MAPICDO 1.2.1 on a Windows 2008 x64 SP2 / BES 5.0 installation (problem with calendar synchronization).   According to the Blackberry Engineer I have to reinstall MAPI/CDO, but he proceeded to leave me high and dry because I'm running on a W2K08 x64 SP2 server.

I tried moving the MAPI32.dll out of the SYSTEM32 and SYSWOW64 (at least that's the way I've interpreted it from your Blog) and reinstalled MAPICDO 1.2.1, but as soon as I do that the Blackberry MailStorage service fails as it is looking for the MAPI32.DLL in the SYSWOW64 directory.  What should I be doing?

Wednesday, October 14, 2009 10:06 PM by Jeff

# re: This Just In: MAPI and Windows Server 2008 Now Get Along

Jeff - I didn't mean to imply you should be manually moving binaries. I would suggest you:

1 - Uninstall the MAPI download

2 - Run FixMAPI

3 - Check that the version of MAPI in syswow64 is 1.0.xxxx. If it isn't there or is some version like 6.5, find that copy you manually moved and put it back. If you can't find it - get it from another similar system.

4 - Reinstall the MAPI download.

Thursday, October 15, 2009 5:04 AM by Stephen Griffin

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker