部署于IIS的Visio自动化Web应用为何在Windows Server上运行异常?
Visio Interop 服务端IIS部署问题修复方案
注:微软官方明确不推荐在服务端非交互场景下使用Office COM 自动化组件,生产环境优先考虑第三方SDK或开源解析库实现vsdx转svg逻辑。如果仍需要使用Interop方案,可执行以下排查操作:
- 启用应用程序池用户配置文件
进入IIS管理器,找到对应应用程序池的【高级设置】,将【加载用户配置文件】选项设置为True,重启应用池后重试。 - 补齐系统内置用户的桌面目录
分别创建以下两个路径的文件夹(如果不存在):C:\Windows\System32\config\systemprofile\DesktopC:\Windows\SysWOW64\config\systemprofile\Desktop
给两个文件夹授予你的应用程序池标识完全控制权限。 - 调整Visio COM组件的运行标识
打开组件服务(运行输入dcomcnfg),依次进入【组件服务-计算机-我的电脑-DCOM配置】,找到Microsoft Visio Drawing项,右键打开属性:- 切换到【标识】选项卡,选择【交互式用户】,或者指定你设置的应用程序池对应的本地用户账号
- 确认安全页签的启动、激活、访问权限已经对应用户配置正确
- 完成Visio首次运行初始化
使用应用程序池对应的用户账号登录服务器桌面,手动打开一次Visio应用,完成许可协议确认、初始设置向导等初始化流程,确保Visio本地可以正常打开vsdx文件后再退出。 - 排查残留进程与路径问题
- 打开任务管理器,结束所有残留的
visio.exe进程,避免进程锁导致的启动失败 - 确认代码中传入的
vsdxSourcePath是本地绝对路径,路径中不含特殊字符、中文,且对应文件确实存在,权限配置正确
- 打开任务管理器,结束所有残留的
- 查看系统日志定位具体错误
打开事件查看器,进入【Windows日志-应用程序】,筛选Visio相关的错误日志,根据具体的错误码进一步定位问题根源。
内容的提问来源于stack exchange,提问作者Gal Tzemach1
相关产品推荐
相关产品推荐

