I have a couple more findings that I want to share w/ everyone.
1)
Something in Redemption.dll changed between v3.4 and v4.5 that causes
my original issue. Simply by switching to different versions of my
custom Redemption dll, I was able to make the issue appear and
disappear.
2)
The solution to this issue is to add Redemption.dll (or your
customized Redemption dll name) to the following registry key:
Parent registry key name:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem
\MSMapiApps
New key Name:
Redemption.dll (or your customized Redemption dll name)
New key Data:
"Microsoft Outlook"
This will tell Windows to route all extended mapi calls coming from
any process that has Redeption.dll loaded into memory to use the
extended mapi routing information found at the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Microsoft Outlook
My original problem was caused by Redemption's extended mapi calls to
be routed to Outlook Express and not Outlook. Older version of
Redemption seems to be unaffected by this.
See the following for mapi call routing details:
Explicitly Mapping MAPI Calls to MAPI DLLs
http://msdn.microsoft.com/en-us/library/dd162405.aspx
Mapi32.dll Stub Registry Settings
http://msdn.microsoft.com/en-us/library/dd162409.aspx
Note that this issue only happens if Outlook 2007 is installed and
Outlook Express is set to be the default mail client. Also note that
I'm not registering (via regsvr32.exe) my custom Redemption dll, I'm
using registration free COM.
Does anyone know which installer is responsible for maintaining
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem
\MSMapiApps ?
Thanks,
jb