2013-03-15 64 views
1

我剛創建了一個C#Desktop應用程序供我個人使用,它使用Office.Interop庫讀取我的Outlook日曆,並將所有項目發佈到Google日曆。它工作正常,直到我試圖將其轉換爲Windows服務。它總是拋出以下錯誤:從C#windows服務使用Outlook Office.Interop

The file E:\...\Outlook Data File.pst cannot be opened. 

我試着用不同的用戶帳戶,但沒有任何工作。與此同時,桌面應用程序按預期工作。任何想法?

代碼:

Microsoft.Office.Interop.Outlook.Application application = null; 
Microsoft.Office.Interop.Outlook.NameSpace applicationNamespace = null; 
Microsoft.Office.Interop.Outlook.MAPIFolder folder = null; 
Microsoft.Office.Interop.Outlook.Items calendarItems = null; 

application = new Microsoft.Office.Interop.Outlook.Application(); 
applicationNamespace = application.GetNamespace("MAPI"); ; 
folder = applicationNamespace.GetDefaultFolder(
    Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar); 
calendarItems = folder.Items; 

foreach (
    Microsoft.Office.Interop.Outlook.AppointmentItem item in calendarItems) 
{ 
    // process item 
} 
+0

權限上文件?你是否像自己或本地系統一樣運行服務? – 2013-03-15 08:14:44

+0

你可以顯示你使用的代碼嗎? – MrBlue 2013-03-15 08:18:36

+0

@PaulFarry:我運行服務作爲我的當前帳戶,這是一名管理員。附代碼。謝謝。 – w3dev 2013-03-15 09:33:14

回答