生成word文檔的功能,期間出現(xiàn)了幾個問題,也不算棘手,但是對于第一次使用office組件的人來說,就比較麻煩了,也不知道為何出現(xiàn)這個錯誤,其中本問題解決費(fèi)的時間較多,特此記錄,以后方便查閱。
先將問題的場景大體介紹一下:
??1、客戶端及服務(wù)端安裝的辦公軟件為office;
??2、已存在使用Microsoft.Office.Interop.Word.dll生成word文檔的代碼,客戶端(包括服務(wù)端上的客戶端)使用時除表格無法生成,新建文檔、插入數(shù)據(jù)、保存文檔接口正常使用,無出現(xiàn)問題;
??3、先因業(yè)務(wù)需求,需要將該代碼,運(yùn)行在服務(wù)端的iis里面(雖說office不適合運(yùn)行在服務(wù)端,但時間不允許重新開發(fā)),首先拋出?80040154 沒有注冊類?的錯誤,這個錯誤安裝office即可,不過多糾結(jié);
??4、office安裝完畢之后,代碼運(yùn)行時拋出此錯誤:80070005 拒絕訪問
?
解決方案:
??1、運(yùn)行dcomcnfg.exe打開組件服務(wù);
??2、依次展開"組件服務(wù)"->"計(jì)算機(jī)"->"我的電腦"->"DCOM配置"->"Microsoft Word 文檔"
????
??3、右鍵打開“屬性”對話框,點(diǎn)擊“標(biāo)識”選項(xiàng)卡,選擇交互式用戶;點(diǎn)擊“安全”選項(xiàng)卡,“啟動和激活權(quán)限”、“訪問權(quán)限”選擇自定義
????
??4、編輯啟動和激活權(quán)限權(quán)限的自定義選項(xiàng),將NETWORK SERVICE(也有說法需要IIS_IUSERS和everyone用戶)添加進(jìn)去,給與本地激活和遠(yuǎn)程激活的權(quán)限,訪問權(quán)限相同
????
??5、或許設(shè)置完以上代碼就可以正常運(yùn)行,但是我的代碼還是拋出錯誤,這里再配置web.config的
? ? ? ? 6、在網(wǎng)上找了都是上面的這個方法,然而并沒有什么卵用!百思不得其解,也嘗試過修改注冊表(發(fā)現(xiàn)clsid:00020906-0000-0000-C000-000000000046?word 97文檔),跟報(bào)的錯誤000209FF-0000-0000-C000-000000000046 不一樣,想修改又糾結(jié),后來看了一篇論壇無意中看到了以下解決方案;于是把目光投進(jìn)了服務(wù)器IIS的身上;
只要修改IIS的應(yīng)用程序池,選擇你的項(xiàng)目,點(diǎn)擊高級設(shè)置,標(biāo)識改為:LocalSystem 或NetworkService;