我尝试打开以下单词:
Word.Application app = new Word.Application();
app.Visible = true;
Console.WriteLine($"Visible {app.Visible}");
在我的开发计算机(Windows 10,Office 365)上运行此代码时,Word出现(如预期),输出为:
可见:真实
在生产计算机(Windows Server 2019,Word 2019)上运行此代码时,Word 不显示,输出为:
可见:错误
直到一周前一切顺利,生产机器上肯定会有问题。
Windows事件日志未显示任何指向此问题的内容。重新安装Word没有帮助。手动启动Word时,它将正常启动并按预期显示。
有人知道如何进行进一步调查或导致此问题的原因是什么?
编辑乳清我修改这样的代码:
Word.Application app = new Word.Application();
app.Visible = true;
app.Activate(); // System.Runtime.InteropServices.COMException
...我得到一个例外:
[Anwendung kann nicht aktiviert werden。 HRESULT:0x800A11F9
我找到了以下文章COM Exception 0x800A11F9 - Cannot activate application,但这没有提供解决方案。HRESULT:0x800A11F9
我以管理员身份运行该应用程序。
我终于解决了这个问题。
另一个应用程序更改了dcomcnfg中的Word安全设置。
我将设置更改为以下(德语/英语):
General:Authentifizierungsebene:Keine /认证级别:无
[Security:选择所有点的设置,并将所有权限授予Administrators / Remotedesktop用户(生产服务器充当终端服务器)
Identity:选项Der Benutzer,来自世界的开始。 /启动应用程序的用户。
在dcomcnfg中,不是按名称列出Word,而是按AppId列出。为了找出哪个AppId Word确实具有,我找到了这个article,它指出
寻找HKEY_CLASSES_ROOT \ CLSID {00020906-0000-0000-C000-000000000046}