2013-10-24 97 views
0

我有移動的老VB6的Windows應用程序,新系統與VS 2010和Windows 7這個應用程式使用AxInterop.MSMAPIAxInterop.ComctlLib DLL在裏面。當我嘗試編譯,我用了RegSvr32需要幫助註冊在Windows AxInterop.MSMAPI DLL 7 32位

run --> regsvr32 D:\somepath\AxInterop.MSMAPI.dll 

得到以下警告

Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 

所以我嘗試註冊他們,但我收到以下錯誤

The Module "D:\somepath\AxInterop.MSMAPI.dll" as loaded but the entry-point DLLRegisterServer was not found. 

Make sure that "D:\somepath\AxInterop.MSMAPI.dll" is a valid DLL OR OCX file and then try again. 

需要一些幫助註冊這兩個DLL

在此先感謝

+0

你會好起來的,如果你創建一個使用的MailClient並公開方法基於COM NET的DLL你需要。然後你可以參考。 [從VB6調用.Net](http://support.microsoft.com/kb/817248)我相信舊MAPI所需的一些API已從VISTA中消失。 – Steve

+0

感謝史蒂夫..但對我來說,一個巨大的和不可計費的工作要做...任何其他方式來解決這個問題。 –

+0

舊的MAPI不起作用,因此您必須使用其他內容。如果你花一些時間在網上搜索,你可能會發現有人曾經這樣做過,並從中得到他們的代碼。嘗試CodeProject,這裏是我在那裏找到的第一個結果:[MAPI.NET](http://www.codeproject.com/Articles/2048/Simple-MAPI-NET) – Steve

回答

0

您使用的是64位Windows嗎?如果是這樣你必須確保你從SysWow64文件夾中運行regsvr32命令,就像這樣:

c:\windows\syswow64\regsvr32 D:\somepath\AxInterop.MSMAPI.dll 
+0

上午使用32位窗口 –

+0

你好,我每一個有效。我已經從舊系統生成一個安裝程序(exe)並安裝在新系統中,然後...它工作。 Dlls自動註冊和Windows應用程序工作正常。 –