問題描述
實現(xiàn)按模版導(dǎo)出,使用Office組件,部署后無法導(dǎo)出
主要引用
Microsoft.Office.Interop.Word 12.0.0.0
實際環(huán)境
Windows 2008 + iis7 + word 2007
主要異常
無法操作word
無法創(chuàng)建word
System.Runtime.InteropServices.COMException(0x800A13E9): Word 出現(xiàn)問題
System.Runtime.InteropServices.COMException(0x800A107A): 類型不匹配
問題判斷
因在其他機(jī)器上部署均正常訪問,判斷異常原因為權(quán)限問題,windows 2008權(quán)限要求比較高,不斷嘗試權(quán)限修改方式。
解決方法
方法1.修改web.config
在 web.config 文件中 system.web 標(biāo)簽之后加入
<identity impersonate="true"userName="本機(jī)用戶名" password="本機(jī)密碼 "/>
方法2.修改文件夾權(quán)限
將系統(tǒng)中生成 word 對應(yīng)文件夾賦權(quán),iis用戶賦全部操作權(quán)限(NETWORK SERVICE、IIS_IUSRS)。
方法3.添加目錄
C:/Windows/System32/config/systemprofile
C:/Windows/SysWOW64/config/systemprofile
目錄下創(chuàng)建名為Desktop目錄。
方法4.修改組件服務(wù)
- 在運行中輸入 dcomcnfg.exe
- 查看組件服務(wù)——》計算機(jī)——》我的電腦——》DCOM配置——》Microsoft Office Word 2003-2007文檔或word應(yīng)用程序
- 右鍵單擊選擇屬性
- 彈出屬性對話框選擇標(biāo)示選項卡選擇交互式用戶
- 選擇安全選項卡啟動和激活權(quán)限選擇自定義
- 點擊編輯按鈕添加 USERS用戶組 并添加 IUSR_機(jī)器名用戶
- 再選擇安全選項卡訪問權(quán)限選擇自定義
- 點擊編輯按鈕添加 USERS 用戶組并添加 IUSR_機(jī)器名用戶
注:上一步中有可能在DCOM配置中找不到 Microsoft Office Word 2003-2007文檔或應(yīng)用程序。由于 windows2008 是64位的原因需要在運行中輸入 mmc-32 回車。進(jìn)入組件服務(wù)控制臺,選擇文件菜單單擊添加/刪除管理單元,添加組件服務(wù)保存控制臺1即可。
建議每修改均測試下功能是否能正常使用,若全部方法均修改后還是無法使用,條件允許的情況下建議重裝系統(tǒng)。