私がしようとしているのは、新しいOutlookメールウィンドウを開き、ユーザーがそれを転送できるようにファイルを添付するwinformクライアントに "Email To ..."ボタンを追加することです。私はOutlookがすでに実行されていない場合、Outlook統合をうまく機能させることができます。これは、Windows 7の64ビットマシンで動作するOutlook 2010の32ビットに対して、Outlook 14.0 interopライブラリを使用するC#.NET 4.0 winformsアプリケーションです。私はアプリが既に他の理由でx86にコンパイルされているので、その32/64ビットの問題は疑わしい。ここに私のコードです:どのようにC#で実行中にOutlook 2010に接続するには?
// Connect to outlook and create a new mail item
var app = new Outlook.Application();
var ns = app.GetNamespace("MAPI");
var mailItem = (Outlook.MailItem)ns.Application.CreateItem(Outlook.OlItemType.olMailItem);
// create the mail item and attach the file
mailItem.To = "";
mailItem.Subject = "Emailing: " + Path.GetFileName(_currentFilePath);
mailItem.Attachments.Add(_currentFilePath, Outlook.OlAttachmentType.olEmbeddeditem);
// show the email dialog window
mailItem.Display(true);
Outlookが実行されていない場合、それは完璧に動作します。その開いたら、私はそれがOutlook.Applicationオブジェクトを作成しようとする非常に最初の行に次のエラーを取得する:
Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
任意のアイデアこれを引き起こすだろうか?これは何らかのバージョンの競合ですか?
あなたはJahmicsの回答を受け入れるべきです、それは正しいです。 – flayn