Problem:

Build a simple MFC Application in Visual Studio 2005 with Send Mail
support.

Compile it Win32 - OnFileSendMail() brings up Outlook 2003 as expected.

Compile it x64 - OnFileSendMail() brings up Outlook Express!!!!

Is there a configuration issue or is there something I am missing?

Looks like native x64 application get the wrong email client on Windows
XP 64bit. How do I fix this?

Re: MAPI support on XP 64-bit by Charlie

Charlie
Thu Jan 26 12:51:21 CST 2006

Actually, this doesn't surprise me. OE is 64-bit, Outlook is 32-bit. When
64-bit programs indirectly call other programs, they seem to always get the
64-bit version if there is one. I'm not sure what the workaround is, but I
suspect your best bet is to ask over on one of the developer groups.

--
Charlie.
http://msmvps.com/xperts64

PEERNET Inc. wrote:
> Problem:
>
> Build a simple MFC Application in Visual Studio 2005 with Send Mail
> support.
>
> Compile it Win32 - OnFileSendMail() brings up Outlook 2003 as expected.
>
> Compile it x64 - OnFileSendMail() brings up Outlook Express!!!!
>
> Is there a configuration issue or is there something I am missing?
>
> Looks like native x64 application get the wrong email client on Windows
> XP 64bit. How do I fix this?



Re: MAPI support on XP 64-bit by Darrellg

Darrellg
Thu Jan 26 14:49:09 CST 2006

Hello,
I think this is By Design.
While inside a 32-bit program, you call 32-bit DLLS which is why Outlook
starts.
While inside a 64-bit program, you call 64-bit DLLS which is why Outlook
Express starts.
See this link: I think this is what you are running into:
http://msdn.microsoft.com/netframework/programming/64bit/default.aspx
NO loading 32-bit DLLs into 64-bit processes
NO loading 64-bit DLLs into 32-bit processes
NO loading 32-bit COM InProc servers into 64-bit processes
No loading 64-bit COM InProc servers into 32-bit processes
Remote procedure calls (RPC) ARE SUPPORTED between 64-bit and 32-bit
processes (both on the same computer and across computers)

Thanks,
Darrell Gorter[MSFT]

This posting is provided "AS IS" with no warranties, and confers no rights
--------------------
<From: "Charlie Russel - MVP" <charlie@mvKILLALLSPAMMERSps.org>
<References: <1138298828.983228.306150@g43g2000cwa.googlegroups.com>
<Subject: Re: MAPI support on XP 64-bit
<Date: Thu, 26 Jan 2006 10:51:21 -0800
<Lines: 25
<X-Priority: 3
<X-MSMail-Priority: Normal
<X-Newsreader: Microsoft Outlook Express 6.00.3790.1830
<X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
<X-RFC2646: Format=Flowed; Original
<Message-ID: <#I$IjmqIGHA.3064@TK2MSFTNGP10.phx.gbl>
<Newsgroups: microsoft.public.windows.64bit.general
<NNTP-Posting-Host: h24-207-96-14.cst.dccnet.com 24.207.96.14
<Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
<Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.windows.64bit.general:28296
<X-Tomcat-NG: microsoft.public.windows.64bit.general
<
<Actually, this doesn't surprise me. OE is 64-bit, Outlook is 32-bit. When
<64-bit programs indirectly call other programs, they seem to always get
the
<64-bit version if there is one. I'm not sure what the workaround is, but I
<suspect your best bet is to ask over on one of the developer groups.
<
<--
<Charlie.
<http://msmvps.com/xperts64
<
<PEERNET Inc. wrote:
<> Problem:
<>
<> Build a simple MFC Application in Visual Studio 2005 with Send Mail
<> support.
<>
<> Compile it Win32 - OnFileSendMail() brings up Outlook 2003 as expected.
<>
<> Compile it x64 - OnFileSendMail() brings up Outlook Express!!!!
<>
<> Is there a configuration issue or is there something I am missing?
<>
<> Looks like native x64 application get the wrong email client on Windows
<> XP 64bit. How do I fix this?
<
<
<


Re: MAPI support on XP 64-bit by Charlie

Charlie
Thu Jan 26 14:53:52 CST 2006

See, now there's the technical answer to the experiential one I had. Thanks!

--
Charlie.
http://msmvps.com/xperts64

"Darrell Gorter[MSFT]" wrote:
> Hello,
> I think this is By Design.
> While inside a 32-bit program, you call 32-bit DLLS which is why Outlook
> starts.
> While inside a 64-bit program, you call 64-bit DLLS which is why Outlook
> Express starts.
> See this link: I think this is what you are running into:
> http://msdn.microsoft.com/netframework/programming/64bit/default.aspx
> NO loading 32-bit DLLs into 64-bit processes
> NO loading 64-bit DLLs into 32-bit processes
> NO loading 32-bit COM InProc servers into 64-bit processes
> No loading 64-bit COM InProc servers into 32-bit processes
> Remote procedure calls (RPC) ARE SUPPORTED between 64-bit and 32-bit
> processes (both on the same computer and across computers)
>
> Thanks,
> Darrell Gorter[MSFT]
>
> This posting is provided "AS IS" with no warranties, and confers no rights
> --------------------
> <From: "Charlie Russel - MVP" <charlie@mvKILLALLSPAMMERSps.org>
> <References: <1138298828.983228.306150@g43g2000cwa.googlegroups.com>
> <Subject: Re: MAPI support on XP 64-bit
> <Date: Thu, 26 Jan 2006 10:51:21 -0800
> <Lines: 25
> <X-Priority: 3
> <X-MSMail-Priority: Normal
> <X-Newsreader: Microsoft Outlook Express 6.00.3790.1830
> <X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
> <X-RFC2646: Format=Flowed; Original
> <Message-ID: <#I$IjmqIGHA.3064@TK2MSFTNGP10.phx.gbl>
> <Newsgroups: microsoft.public.windows.64bit.general
> <NNTP-Posting-Host: h24-207-96-14.cst.dccnet.com 24.207.96.14
> <Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
> <Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.windows.64bit.general:28296
> <X-Tomcat-NG: microsoft.public.windows.64bit.general
> <
> <Actually, this doesn't surprise me. OE is 64-bit, Outlook is 32-bit. When
> <64-bit programs indirectly call other programs, they seem to always get
> the
> <64-bit version if there is one. I'm not sure what the workaround is, but
> I <suspect your best bet is to ask over on one of the developer groups.
> <
> <--
> <Charlie.
> <http://msmvps.com/xperts64
> <
> <PEERNET Inc. wrote:
> <> Problem:
> <>
> <> Build a simple MFC Application in Visual Studio 2005 with Send Mail
> <> support.
> <>
> <> Compile it Win32 - OnFileSendMail() brings up Outlook 2003 as expected.
> <>
> <> Compile it x64 - OnFileSendMail() brings up Outlook Express!!!!
> <>
> <> Is there a configuration issue or is there something I am missing?
> <>
> <> Looks like native x64 application get the wrong email client on Windows
> <> XP 64bit. How do I fix this?
> <
> <
> <



Re: MAPI support on XP 64-bit by PEERNET

PEERNET
Mon Jan 30 20:04:27 CST 2006

Actually, I believe your are all off base.

MAPI is suppose to be a transparent layer that maps MAPI calls to the
default mail client.

On Win32, Win16 and Win32 application mapped to the correct version of
the default client (win16 or win32). No problems with that.

On Win64 box, Win32 and Win64 applications should be mapped to the
default client (no matter if client is win32 or win64).

Yes, I an quite aware that Win64 does not allow thunk to Win32.
Personally, I hate that this is the case but I understand the
reasoning.

But lets pertend that a MAPI 64-bit piece is needed in order to support
Outlook on Win64. Okay Outlook group, where is it!!!