客製 Office COM元件在 Windows Server 2008 & IIS 7 發生無法存取檔案的問題?! - SharePoint 2010 開發

  • 5548
  • 0
  • 2012-07-31

最近有個新需求, User 希望可以協助將 SharePoint 上的文件(DOCX, XLSX, PPTX) 自動轉成 PDF 檔. 沒想到, 出現惱人的 Exception...

最近有個新需求, User 希望可以協助將 SharePoint 上的文件(DOCX, XLSX, PPTX) 自動轉成 PDF 檔

 

參考了 Saving Workbooks to PDF Formats in Excel 這篇文章進行開發

 

沒想到, 出現下列 Exception

 

Microsoft Excel 無法存取檔案。可能原因如下:

• 檔案的名稱或路徑不存在。
• 其他程式正在使用檔案。
• 您嘗試儲存的活頁簿名稱與目前開啟的活頁簿名稱相同。

 

clip_image001

 

相同的 SoureceCode 在本機開發是可以正常存取 Excel, 但是在 Server 上就是存取權限不足

參考許多網路文章, 目前看到的解法是, 於下列目錄新增 Desktop (並賦與 AppPool 帳號的權限完整權限[讀/寫])

在 Server 上的 Office COM 元件就可以正常的存取檔案…XD (花了我兩天的時間去 Try @@)

 

C:\Windows\System32\config\systemprofile\

 

clip_image002

 

C:\Windows\SysWOW64\config\systemprofile\

 

clip_image003