這幾天在寫一個導出word的功能,使用 Microsoft.Vbe.Interop.dll和Office.dll 在本地都可以正常運行,但是上傳到服務器后就報錯,如下圖:
對於此問題,也在網上查了一些資料,原因就是
這個服務組件的權限問題。
在服務器上,首先需要安裝OFFICE軟件
1,運行dcomcnfg打開組件服務
2,依次展開"組件服務"->"計算機"->"我的電腦"->"DCOM配置"
3,找到"Microsoft Word應用程序" 如下圖:
4.如果找不到Microsoft Word 97-2003 文檔,
1)運行comexp.msc -32打開組件服務(這個是32位,上面是64位)
2)如果還是沒有組件則需要安裝Office軟件,這樣Microsoft Word,Excel,PowerPoint這些組件就都有了。
5.右鍵[屬性] 修改[標識],啟動用戶---->交互式用戶
6 修改[安全]
添加“IIS_IUSRS”用戶,並在權限中選擇【本地啟動】、【本地激活】,如下圖:
如果還有以下錯誤:
Exception Details: System.ComponentModel.Win32Exception: 拒絕訪問。
在webconfig配置文件中加入如下節點:
<system.web> <identity impersonate="true" userName="administrator" password="Dsog7GgETDhF"/> <system.web>
最后確定保存,至此解決問題。