![](/img/trans.png)
[英]C# console app using Interop.domino.dll - failing when running as Scheduled Task
[英]C# console app that does Excel Interop - failing when running as scheduled Task -System.UnauthorizedAccessException
正如標題所述,我有一個C#控制台應用程序,它使用互操作來打開Excel並創建一個新的工作簿。 通過命令行運行控制台應用程序時,代碼工作正常。 但是,通過計划任務運行控制台應用程序時會拋出此異常:
System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005
它是從以下調用拋出的:
_xlApp = new Excel.Application()
計划任務設置為使用我的憑據(我是管理員)。 基於其他論壇,我確保已在組件服務 - >計算機 - >我的電腦 - > DCom配置 - > Microsoft Excel應用程序中授予對我的帳戶的完全控制權,但沒有運氣。
我在Windows 7 Enterprise 64位上。 不確定下一步應該是什么,任何幫助表示贊賞
我最終編寫了一個Windows服務來調用包含Excel生成代碼的庫。 這解決了錯誤。 但是,在調用workbook.Save()方法時還有另一個COM異常。 無論我嘗試什么,這個錯誤都不會消失。 我讀了另一篇帖子,其中說這是一項安全預防措施,因此也就是設計方面。
但是,調用工作簿。 SaveAs()將產生相同的結果,並從Windows服務調用時工作正常。
感謝輸入funkymushroom。 希望這篇文章對於其他正在努力使用Excel Interop自動化的人有所幫助。
我有類似的問題,我通過執行以下步驟解決了這個問題。
DCOM配置
后來我打開Excel時遇到異常。 因此,請確保服務器上有以下路徑。
這可能會幫助像我這樣的人。
我也有這個問題 - 事實證明,在計划任務中,我需要勾選任務設置的常規選項卡上的“以最高權限運行”框。 這解決了這個問題 - 它很簡單! 希望它也可以幫助其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.