字互操作:可见,始终为假

问题描述 投票:0回答:1

我尝试打开以下单词:

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

我以管理员身份运行该应用程序。

c# ms-word office-interop word-interop
1个回答
2
投票

我终于解决了这个问题。

另一个应用程序更改了dcomcnfg中的Word安全设置。

我将设置更改为以下(德语/英语):

  • GeneralAuthentifizierungsebene:Keine /认证级别:无

  • [Security:选择所有点的设置,并将所有权限授予Administrators / Remotedesktop用户(生产服务器充当终端服务器)

  • Identity:选项Der Benutzer,来自世界的开始。 /启动应用程序的用户。

dcomcnfg中,不是按名称列出Word,而是按AppId列出。为了找出哪个AppId Word确实具有,我找到了这个article,它指出

寻找HKEY_CLASSES_ROOT \ CLSID {00020906-0000-0000-C000-000000000046}

© www.soinside.com 2019 - 2024. All rights reserved.