We help IT Professionals succeed at work.

Cannot uninstall Exchange 2007 Management Tools on SBS 2008

I have a MAPI problem with my Blackberry BES server for which I am told the solution is to uninstall and then re-install the Exchange 2007 Management tools.

However, in the Exchange 2007 setup program, the box is ticked and grayed out, so I can't uninstall them.

I have tried stopping all the exchange services before running the setup program but it doesn't help.

I don't want to uninstall the whole Exchange server as it has a lot of data on it.

Anyone know what I can do to just uninstall this component?

Comment
Watch Question

Commented:
Can you provide more detail on the MAPI problem you are having or any error you may be receiving?  Which version of BES?  I assume you've tried uninstalling the BES and the BESMgmt Database and/or SQL?  
You cannot Uninstall the Managements Tool Alone on the Exchange Server. First you need to remove all the roles and only then you would be able to uninstall the Management Tools.

Try installing the MFCMAPI Tool on the Exchange Server and see if you can login using MFCMAPI. If so then there is no problem with the MAPI Connection on the Exchange Server.

http://mfcmapi.codeplex.com/

Author

Commented:
Thanks for the response. The BES Express issue is that it fails on Mapiinitialize after I installed MS Office 2010 on the same machine - but without Outlook in the install. I need it on this machine, so I have to find a way to make BES Express and office (without outlook) co-exist.

My existing BES Express failed with MAPI issues when I did the Office2010 install.

I renamed the system32/mapi32.dll and SYSWOW64/mapi32.dll files, and installed the MAPICDO 1.2.1 package from Microsoft (required a boot from CD to a command prompt to do this, as the dlls were locked in use).

I then re-installed BES Express over the top of the existing BES Express system, and it fails at mapi-initialize/CDO on the install.

I have also now loaded Outlook 2010 and the MFCMAPI tool (64 bit build)

MFCMAPI can't load the MAPI32.dll library, and after checking, despite installing Outlook 2010 and the CDO Collaboration library, there is no mapi32.dll file in either system32 or sysWOW64 directories.

I guess I need to get the right dll in the right place, the question is how!



Ok so even with the MFCMAPI 64 bit and Outlook 2010 you are not able to install the MFCMAPI.
Do you get any errors when you try to install the MFCMAPI tool....

Author

Commented:
The tools run up ok, but selecting sesion->Load MAPI gives the error

Error: The specified module could not be found.

Code: 0x8007007E == 0x8007007E
Function MyLoadLibrary(MyData.GetString(0))
File .\MainDlg.cpp
Line 1086

This happens with either the x86 or 64 bit versions of the MFCMAPI programs. I would guess that this is because there is no mapi32.dll in either the system32 or syswow64 directories.

However even if I re-install ExchangeMapiCDO 1.2.1, I still end up with nothing in these directories.

Tx for the help, by the way!

Author

Commented:
I should also add that when I moved the dll files, it was intended to be so that I could re-install the mapicdo over the top of them, but I didn't 'unregister' the old dlls, so theyre probably still registered in the registry with the actual dll file missing.

Try these steps...


1. Open up MFCMAPI, go to Profile > Launch Profile Wizard > Click OK
2. Then Click Next
3. Add the name of your CAS Server, click Next
4. Click Next
5. Click Finish
6. Go To Profile > Show Profiles, select the profile you just created
7. Select the only service there and double click it
8. Find the provider with the PROVIDER_UID that begins with 13DBB0C. and single
click it
9. Select PR_PROFILE_CONNECT_FLAGS and set it equal to 0x8000
10. Select PR_PROFILE_UI_STATE and set it equal to 0x4000
11. Close all dialogs until the default dialog appears.
12. Select Session > Logon and display store, and select the profile if not
already selected

Author

Commented:
I can't get past the first step!

MAPIInitialize failed with error 0x80004005 == MAPI_E_CALL_FAILED.

on launch-profile-wizard!

Try using the 32 bit Version of the MFCMAPI.
Exchange 5.5, Exchange 2000, Exchange 2003 and Exchange 2007 doesnt use 64-bit MAPI Protocol.

Author

Commented:
Same problem, unfortunately

MAPIInitialize failed with error 0x80004005 == MAPI_E_CALL_FAILED.

Here are some known causes for this.
1 - No version of Extended MAPI is installed. Either Outlook or MAPICDO must be installed.
      See http://www.microsoft.com/downloads/details.aspx?familyid=E17E7F31-079A-43A9-BFF2-0A110307611E to install MAPICDO.
2 - The 64 bit version of Outlook 2010 is installed. The 64 bit version of Outlook 2010 requires the 64 bit build of MFCMAPI.
      See http://mfcmapi.codeplex.com for the latest 64 bit build of MFCMAPI.
3 - Windows Mail or Outlook Express (which do not implement Extended MAPI) is registered as the Default Mail Client.
      See http://msdn.microsoft.com/en-gb/library/dd162409.aspx for information on setting the Default Mail Client.
In file .\MapiObjects.cpp
On line 113

I think I may need to get a library registered.
Do you required Office 2010 on that Server.

Try with Office 2007 and then 32 bit MFCMAPI.

Because Office 2010 would required 64 bit of MFCMAPI and Exchange 2007 would not support 64 bit MFCMAPI.

Author

Commented:
I do need office 2010 on there, but I don't need Outlook (which is why I removed it).

At the moment, the inability to initialize MAPI would suggest to me that the dll is either not registered, or is registered but can't be found (because it's now called mapi32old.dll.

Is there a way to deregister the dll to get it properly deleted, and then install a new one? I can't find any other mapi32.dll files on the machine.
Well try this for unregistering the Dll files.

regsvr32 -u .dll

Then to register the new dll try this command

regsvr32 .dll

Author

Commented:
Although this did not solve the problem, it was the key to the right diagnostic tool allowing me to actually get to the solution, which was through replacing some DLLs which had been moved.

As the problem solved is not the problem listed as the question, I have not put this in the knowledge base.