can't send mail from 32 Bit applications with office 2010 64 bit R

M

michael

Hello,
after installing Office 2010 64 Bit (RTM)
32 Bit applications can not send mail any more.
Messages like this open in a dialog box:

---------------------------
Email
---------------------------
There is no email program associated to perform the requested action. Please
install an email program or, if one is already installed, create an
association in the Default Programs control panel.
---------------------------
OK
---------------------------

Outlook is set as default which is also reflected in the corresponding
registry keys like HKLM\Software\Clients\Mail and

HKLM\Software\Wow6432Node\Clients\Mail.

But both DLLPath entries are pointing to mapi32.dll

It doesn't help to change the entry to olmapi32.dll which comes with Office
2010.

Who can provide help?
 
N

neo

This is the correct behavior and listed as a major reason to stick with the
32-bit version of Office 2010. Just so you know that under the 64bit
version the end result is...

1) No legacy exchange client extensions
2) All 32-bit extended MAPI applications fail
3) All 32-bit COM addins fail

Legacy Simple MAPI calls (think back to the days of using Outlook Express,
Pegasus, .etc) will work(e.g. Internet Explorer's send page (or link) by
e-mail).
 
M

michael

Hello Neo,

thank you for your answer.
As always, new answers raises new questions to me:

1. Where did you get this documentation?
2. Office 2010 64 bit shifts with olmapi32.dll.
This is the 32 Bit 'gateway' to the 64 bit office, right?

3. There is still the msmapi32.dll in system folder and syswow64 folder,
in addition to the side by side registrations (SxS).
So the msmapi32 is syswow64 folder could be recycled by extending it with an
own
32 -> 64 Bit adapter if standard way is not working.
What do you guess concerning that?

Regards
 
M

michael

Hello Neo,

meanwhile I solved the problem.

The registry keys to the mapi dll have to be redirected to the OLD 32 bit
version.

I guess the fix will work for all 32 Bit applications which internally uses
the MAPISendMail call only.
This 32 Bit call is translated with FixMapi.exe into 64 Bit adress space of
outlook 2010 and

before changing any registry values, save your registry part with the export
mechanism.

I case of an error you can easily restore your original values by double
clicking on the exported reg file.

To fix the problems for office 2010 64 BIT add this registry values

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Outlook64Bridge]
@="Outlook64Bridge
"DLLPathEx"="c:\\Windows\\winsxs\\x86_microsoft-windows-mapi_31bf3856ad364e35_6.1.7600.16385_none_ab2397727b134496\\MAPI32.DLL
"DLLPath"="c:\\Windows\\winsxs\\x86_microsoft-windows-mapi_31bf3856ad364e35_6.1.7600.16385_none_ab2397727b134496\\MAPI32.DLL"

The path to the mapi32.dll might differ on your machine, so search the dll
first to get the correct dll.
Important is to get the x86 Version (see in path), which is the old 32 bit
library.

After applying this and setting the Outlook64Bridge as the default mail
client too with

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]
@="Outlook64Bridge"

I was able to send mails from 32 bit Acrobat with 64 bit outlook.

Of course everything without guarantee etc.
You know, each machine is different.

Have fun!
Michael
 
M

michael

Hello,

meanwhile I solved the problem.

The registry keys to the mapi dll has to be redirected to the old 32 bit
version.

I guess the fix will work for all 32 Bit applications which internally uses
the MAPISendMail call.
This 32 Bit call is translated with FixMapi.exe into 64 Bit adress space of
outlook 2010 and

Before changing any registry values, save your registry part with the export
mechanism.

I case of an error you can easily restore your original values by double
clicking on the exported reg file.

To fix the problems for office 2010 add to this registry values

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Outlook64Bridge]
@="Outlook64Bridge
"DLLPathEx"="c:\\Windows\\winsxs\\x86_microsoft-windows-mapi_31bf3856ad364e35_6.1.7600.16385_none_ab2397727b134496\\MAPI32.DLL
"DLLPath"="c:\\Windows\\winsxs\\x86_microsoft-windows-mapi_31bf3856ad364e35_6.1.7600.16385_none_ab2397727b134496\\MAPI32.DLL"

The path to the mapi32.dll might differ on your machine, so search the dll
first to get the correct dll.
Important is to get the x86 Version, which is the old 32 bit library.

After applying this and setting the Outlook64Bridge as the default mail
client in control console,
I was able to send mails from 32 bit Acrobat with 64 bit outlook.

Of course everything without guarantee etc.
You know, each machine is different.

Have fun!
Michael
 
N

neo

1) For a while, I beta tested Office 2010 and this information was given to
us from Microsoft employees on the Outlook development teams.

2) Unknown. Again we where told that there wouldn't be any thunking (think
back to the days of 16 vs. 32bit development). So this means that 3rd
parties will need to update/release new versions of their products to work
with the 64bit flavor of Outlook.

3) I assume your other post is what you did to address this. In this case,
you are on your own when doing this and it wouldn't be an action sanctioned
or supported by Microsoft. Granted I have done things like this in the past
to get 16bit apps working again under Outlook 2003 when the MAPI spooler was
removed from the product, but I also accepted that Microsoft couldn't help
us when issues arise because the first thing we would have to do is undo the
change to see if was related to our kludge.

I wouldn't recommend your steps to anyone as I feel it would wiser to
recommend that users run the 32bit version of Office 2010. There isn't any
enhancement to running a 64bit version of Outlook and when one stays within
the confines of what is recommended/supported by the vendor, the product
should be easier to support because one doesn't have to remember the kludge
that was introduced to allow "x" to continue to work in an unsupported way.
 
M

michael

Hello Neo,

again, thank you for your answer.

You know, you are never a normal user when you always try the newset things.
That's what makes us not normal users. I try to solve these kind of problem
and earn money with this experiences, even if I can only say, no don't do
that.

But again in between I found in the MAPI documentation that all simple MAPI
calls are deprecated but MAPISendMail and for exactly this MAPI call a MAPI
adapter exists which forwards 32 bit calls into 64 bit office.
It is the fixmapi.exe.

In between I already managed to write a .net client server infrastructure.
a classical mapi dll internally uses a 32 bit remoting client.

this client passes 32 bit call to 64 bit remoting server

this works fine.

the 64 bit server just uses the office 64 bit map which ends up in outlook
2010 64 bit.

so i gues i reimplemnted the fixmapi.exe in a way.
but now i know whats going on.

thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top