調用Bartender實現代碼管控的自動打印,本地運行一切正常,發布到服務器之后出現如下異常
檢索 COM 類工廠中 CLSID 為 {B9425246-4131-11D2-BE48-004005A04EDF} 的組件失敗,原因是出現以下錯誤: 80070005 拒絕訪問。 (異常來自 HRESULT:0x80070005 (E_ACCESSDENIED))。
查詢系統日志
顯示的日志描述全文如下:
計算機-默認 權限設置並未向在應用程序容器 不可用 SID (不可用)中運行的地址 LocalHost (使用 LRPC) 中的用戶 IIS APPPOOL\eMesNJShipping.Web SID (S-1-5-82-3156081320-2806744727-693200556-1633734760-241366336)授予針對 CLSID 為 {B9425246-4131-11D2-BE48-004005A04EDF} 、APPID 為 不可用 的 COM 服務器應用程序的 本地 激活 權限。此安全權限可以使用組件服務管理工具進行修改。
在網上搜了幾篇相關的文章后,開始嘗試解決。
打開注冊表Control+F搜索”B9425246-4131-11D2-BE48-004005A04EDF“,找到注冊文件。
在注冊項上右擊選擇”權限“,將NETWORK SERVICE添加到用戶組,權限勾選完全控制。
IIS改成應用池標識屬性設置成NetworkService。
再運行嘗試,問題解決。
參考:
https://www.cnblogs.com/ibgo/p/3550674.html
https://blog.csdn.net/aking8736/article/details/37761619?locationNum=13
https://www.cnblogs.com/tenson/p/3786055.html
https://www.cnblogs.com/groler/archive/2011/10/21/2220346.html