检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a
前一陣子做開發需要用到Excel和Word編程,本人用的是Vista系統,開發環境是VS2005和Office2007,測試無任何問題,可是到部署的時候出現了一些令人很頭痛的問題,老是會出現例如:
檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 8000401a。
的錯誤,在網上查詢了許多資料,大多是二種解決方案:
?
1,增加虛擬權限:
在web.config里面增加
的鍵值;要求windowsloginid具有管理員權限,這種方案使用后確實可行,可是不利于部署,因為有經驗的人都知道把一個最高權限的服務器帳號密碼公開顯示在配置文件上有什么后果。所以這種方案不可行。那么就牽涉到第二種方案。
2,增加Com組件的交互式訪問權限:
這也是網上搜索率最高的一種方式,運行“DCOMCNFG”,找到
Microsoft Excel 97/2000/2002 - Microsoft Excel 應用程序
Microsoft Word 2000/2002 - Microsoft Word 文檔??這些組件的交互式訪問權限,詳情可以參見:
http://support.microsoft.com/kb/288366
這種方案應該是可行的,可是我在我自己的機器上一級服務器上試驗過很多遍都不行,最后我試著用特定的用戶來訪問,如果細分的話,這里可以算為第三種解決方案了^_^
3,增加Com組件特定用戶的訪問權限。
這才是我今天說的重點,也是幫我解決了實際難題的一重解決方案,簡略的說可以這么做:
建立一個所需的帳號(例如test),權限為Power User或者User;
用此帳號運行一次word或者excel(確保有訪問權限);
運行DCOMCNFG,在Dcom組件里面找到Microsoft Excel 應用程序或者Microsoft Word 文檔(和前面一樣)-屬性-標識里面選擇“特定用戶”,然后輸入前面建立的帳號和密碼就可以了
?
在有的機器上測試還需要在前面的安全標簽里面添加這個賬號的啟用和訪問權限.當然直接用自己登陸的帳好也是可行的
Dcom權限配置如下截圖
總結
以上是生活随笔為你收集整理的检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (测试可用)针式打印机打印WEB页面字体
- 下一篇: 一个比CAM350好用的看GERBER软