好吧,這是我們辦公室新機器上新安裝的Windows 8.1。我們在其上安裝了Office Professional Plus 2013,一切看起來都很美觀。不過,我得到以下錯誤:Outlook Com沒有註冊
一切我已經研究說,有一個在註冊表中的舊面貌值。 9.3,9.4等。但這臺電腦從來沒有什麼,但它的Outlook 2013,我可以找到每個註冊表值是9.5。
我正在開發一個應用程序,用於預先編寫我們發送給客戶端更新時發送的標準電子郵件。在C#中,相關代碼如下所示:
string Body = Head + FileList + details + EmailPart + Signature;
Outlook.Application OLapp = new Outlook.Application();
MailItem eMail = OLapp.CreateItem(Outlook.OlItemType.olMailItem); //this is the line that causes the error.
eMail.Subject = "subject";
eMail.To = "";
eMail.HTMLBody = Body; //text created above
eMail.Importance = OlImportance.olImportanceNormal;
eMail.Display();
這適用於辦公室中除本64位W8盒以外的所有機器。我不知所措,我已經修復並重新安裝了Professional Plus 2013套裝,但無濟於事。 com對象應該在istall上註冊,我無法手動註冊它。我試圖在VS中瞄準X86無濟於事。我一直在這個問題上打了幾個星期,所以我很難過。有沒有人解決這個問題,它不是一個價值:9.3/9.4註冊表問題?
也許有辦法做到這一點,不使用COM而是使用DLL?任何讓這個用戶離開地面的東西都會有幫助。謝謝。
在Windows 64Bit機器上你將不得不做1件事之一.. '1.'右鍵單擊項目屬性並將其設置爲從'AnyCpu運行到x86'或'2.'確保.dll的'CopyLocal ='屬性設置爲true,如果您想確保它真的有效,創建一個'Dependencies'文件夾,並將該dll添加到它..然後從引用節點刪除引用,並重新添加它指向'Dependencies'文件夾中的源..這也聽起來像你引用不正確的版本的ComInterop Dll爲您安裝的Office版本 – MethodMan
感謝您的建議@MethodMan 不幸的是,正如我在OP中提到的那樣,我的目標x86無濟於事。在#2中我不知道你在說什麼.dll,如果我查看我的引用,我不能將任何Outlook interloop程序集的CopyLocal設置爲true,因爲屬性被鎖定。 我試過兩個程序集引用Microsoft.Office.Interlop.Outlook 15.0.0.0版本,我試過COM Micosoft Outlook 15.0對象庫9.5版本。 這兩種方法都適用於本地和其他機器,但不適用於相關包裝盒。 – Andrew
分享到:[訪問COM組件時出錯](http://stackoverflow.com/q/12957595/993547)。 –