32-bit MAPI app avec Outlook 64 bits
La version 32 bits de notre application n'est pas en mesure d'envoyer des e-mail à l'aide de MAPISendMail
avec Outlook 64 bits installé. Il retourne une erreur 0x80004005, sur lequel je peux trouver que peu d'information au-delà du fait qu'il semble être une MAPI erreur d'initialisation.
Selon ce document MSDN, MAPISendMail
est la seule exception à la règle que les applications 32 bits ne peut pas utiliser 64 bits MAPI. Et pourtant, il ne fonctionne pas (au moins avec XP et Vista--nous n'avons pas testé Win7/8).
Quelqu'un peut nous donner un indice sur cette?
TIA
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas d'exception: un processus 32 bits ne peut pas charger une version 64 bits dll.
Lorsque vous avez la version 64 bits de microsoft Outlook, la version 64 bits de mapi32.dll contient la mise en œuvre effective. La version 32 bits d'mapi32.dll est une souche qui n'a rien, mais retournera une erreur.
MAPISendMail
parce qu'il n'a pas de charger la DLL, il appelle fixmapi.exe. CEPENDANT, juste après avoir regardé à nouveau, je vois que j'ai raté les dix premières fois où je l'ai lu: "Ce WOW64 scénario s'applique uniquement à Windows 7." Merci pour me forcer à le lire une fois de plus. 🙂Ce n'est pas tout à fait vrai @DmitryStreblechenko, - du moins pas pour le
MAPISendMail
fonction. Pour cela, et uniquement pour cela, il est possible de construire un "Outlook64 Pont". Ce sera ensuite rediriger 32bitMAPISendMail
appels à 64 bits Outlook. Ce pont peut ressembler à:IMPORTANT, - vous devez d'abord vérifier à chemin d'accès correct de votre 32bit
mapi32.dll
!Après l'ajout de ces lignes dans le reg, vous devez définir le
Outlook64Bridge
comme votre client de messagerie par défaut par:Il est confirmé à travailler pour de simples applications 32 bits qui utilisent vraiment seulement la MAPISendMail fonction.
Plus d'informations peuvent être trouvées ici
Ans, j'ai'had le même problème. J'ai essayé et essayé encore, mais pas moyen ... Microsoft a bloqué certaines interactions entre 32 bits et 64 bits de l'application: vous ne pouvez même pas utiliser 64 bits OCX/OLE dans un 32 bits.
La Outlook Pont solution ci-dessus (@VMAtm), a travaillé au début, puis Microsoft fixe, il, et il stoppend de travail.
En fin de compte, j'ai réalisé un 64 bits, mon pont application, pour se connecter principale de 32 bits à 64 bits outlook:
Cette solutions fonctionne très bien, et je suis assez sûr que je n'avez pas à lutter avec MAPI bibliothèques.