gpt4 book ai didi

c# - 注销服务器时 Excel 和 C# 出错

转载 作者:行者123 更新时间:2023-11-30 14:15:50 24 4
gpt4 key购买 nike

我用 C# 编写了一个 Windows 服务。我的服务旨在打开启用 Excel 宏的工作簿(这是在 Excel 2010 中)。我已经在运行 Windows Server 2008 64 位的服务器上安装了此服务。当没有人登录服务器时,我的服务似乎无法启动 Excel,有人对此有解决方案吗?

我收到以下错误:

System.Runtime.InteropServices.COMException (0x8000401A): Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 8000401a.

Excel 安装在服务器上,当我登录服务器时服务工作正常,但是一旦所有用户都注销后,我收到上述错误。无论服务器上是否打开 session ,我都希望该服务启动我的 Excel 工作簿。

最佳答案

My service seems to have a problem launching Excel when no one is logged on the server, does anyone have a solution to this.

当然有问题。 Windows Services cannot show a user interface ,那么当没有用户登录时,您如何期望它启动像 Microsoft Excel 这样的 GUI 应用程序呢?

您收到的特定 COM 错误代码表示:

8000401a: The server process could not be started because the configured identity is incorrect. Check the username and password.

换句话说,Excel 正试图以交互式用户身份启动,交互式用户指的是当前直接登录到服务器控制台的用户。由于没有用户登录,因此不存在交互式用户,应用程序在尝试采用此身份时失败。

无论如何,设计都被破坏了:Excel 并非设计为从 Windows 服务运行。而是创建一个标准的 Windows 应用程序。如果您需要它在没有自己的 UI 的情况下在后台运行,请不要创建窗口。

关于c# - 注销服务器时 Excel 和 C# 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com