MAPI Windows 7 64 бит - PullRequest
       48

MAPI Windows 7 64 бит

4 голосов
/ 04 марта 2010

У меня есть устаревшее приложение, которое создает сообщение электронной почты с вложением. Код использует интерфейс MAPI для создания сообщения. Этот код работал довольно долго.

Когда приложение запускается на 64-битной машине с Windows 7, вызов MAPILogon завершается с общим кодом ошибки.

Есть ли несовместимость с MAPI и Win7 64? Или есть какая-то проблема COM, о которой я не знаю?

Ответы [ 4 ]

7 голосов
/ 10 марта 2010

Похоже, проблема зависит от того, какие вызовы API вы используете.

Звонки в MAPISendMail должны работать без проблем.

Чтобы все другие вызовы методов и функций MAPI работали в приложении MAPI, разрядность (32 или 64) приложения MAPI должна совпадать с разрядностью подсистемы MAPI на компьютере, для которого предназначено приложение. на.

Как правило, 32-разрядное приложение MAPI не должно запускаться на 64-разрядной платформе (64-разрядный Outlook в 64-разрядной Windows) без предварительной перестройки в 64-разрядное приложение.

Более подробное объяснение см. На странице MSDN Создание приложений MAPI на 32-разрядных и 64-разрядных платформах

1 голос
/ 28 июля 2010

Попробуйте это

@echo off 
REM NOTE: The MAPI32.dll must be included in the same directory as this patchfile!!
REM NOTE: change the username to corresponding if you're not on a domain remove @domain

takeown /f c:\windows\system32\mapi32.dll
cacls c:\windows\system32\mapi32.dll /G administrator@domain:F
ren c:\windows\system32\mapi32.dll c:\windows\system32\mapi32.dll.ORIGINAL
copy mapi32.dll c:\windows\system32\mapi32.dll

if NOT '%PROCESSOR_ARCHITECTURE%'=='AMD64' goto END
takeown /f c:\windows\sysWOW64\mapi32.dll
cacls c:\windows\sysWOW64\mapi32.dll /G administrator@domain:F
ren c:\windows\sysWOW64\mapi32.dll c:\windows\sysWOW64\mapi32.dll.ORIGINAL
copy mapi32.dll c:\windows\sysWOW64\mapi32.dll
:END
1 голос
/ 09 июля 2010

Я испытал нечто подобное с устаревшим приложением, использующим Crystal Reports 8.5. Средство просмотра отчетов CR имеет кнопку «Экспорт», которая открывает диалоговое окно, в котором можно выбрать пункт «Назначение», одним из которых является «Microsoft Mail (MAPI)». Сбой экспорта в MAPI в Windows 7.

Очевидно, проблема была в том, что Microsoft отказалась от поддержки "Simple MAPI" в Windows 7.

Нам удалось устранить проблему с помощью этого исправления от Microsoft: http://support.microsoft.com/kb/980681

Вот еще одна дискуссия, которая может быть полезна для тех, у кого похожая проблема:

0 голосов
/ 04 марта 2010

не уверен конкретно в отношении MAPI, но может быть, если это сделано в .NET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...