首页 > 系统相关 >组件服务:8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码

组件服务:8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码

时间:2024-07-19 14:18:40浏览次数:15  
标签:用户名 pvobj 进程 startInfo 组件 服务器 null 8000401a

 

报错日志:

StartCAD Exception: Retrieving the COM class factory for component with CLSID {DED89DB0-45B6-11CE-B307-0800363A1E02} failed due to the following error: 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。 (0x8000401A).
【记录时间】:2024-07-10 01:00:17,053 线程ID:[5] 日志级别:INFO 描述:StartCAD Exception: Retrieving the COM class factory for component with CLSID {DED89DB0-45B6-11CE-B307-0800363A1E02} failed due to the following error: 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。 (0x8000401A).
【记录时间】:2024-07-10 01:00:17,055 线程ID:[5] 日志级别:INFO 描述:StartCAD Exception: Retrieving the COM class factory for component with CLSID {DED89DB0-45B6-11CE-B307-0800363A1E02} failed due to the following error: 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。 (0x8000401A).

 

场景分析:

window服务进程会启动一个外部组件进程,得到com实例,然后调用该实例进行业务操作。

出错分析:

偶然出现,正常运行一段时间后出现,内部启动组件(Word|CAD)的时候用的是反射方式,代码环境.net6

可能原因:

1 com程序版本不匹配

2 组件服务标识和安全性设置用户未给到足够权限

3 windows服务的登录权限不够

部分参考方案:

1 Web程序方案 

2 PC程序方案

3 修改启动方式(抛弃反射启动,替换成Process.Start,然后获取Com组件)

针对不稳定出现的时候注意两个配置点

组件服务一定是启动用户,windows服务登录,必须有管理员权限

微软的后台服务问题总是充满玄学的味道

 如果服务进程和启动XXX.exe的用户权限不一样的话,获取Com组件容易失败

 比如服务进程是System而XXX.exe是Administrator

 1  ProcessStartInfo startInfo = new ProcessStartInfo();
 2  startInfo.FileName = @"XXX.exe";
 3  startInfo.UseShellExecute = true;
 4  startInfo.Verb = "runas"; // 请求管理员权限  
 5  startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 6  var proce = Process.Start(startInfo); 8  if (proce == null)
 9      throw new Exception("Process.Start Fail");
10  
11  object? pvobj = null;
12  int tryCnt = 10;
13  while (pvobj == null && tryCnt-- > 0)
14  {
15      //等待进程完全启动
16      Thread.Sleep(1000);
17      int hres = GetActiveObject(ref gd, 0, out pvobj);
18      //framework 下 var application = (SolidEdge.Framework.Interop.Application)Marshal.GetActiveObject("SolidEdge.Application");                    
19      //引入vanara.pinvoke.ole后,可用 var hres = Vanara.PInvoke.OleAut32.GetActiveObject(gd, IntPtr.Zero, out pvobj);
20      Info($"GetActiveObject {pvobj != null} ,code {hres}");
21  }
22  var app = pvobj as SolidEdge.Framework.Interop.Application;                
23  if (app==null||app.ProcessID != proce.Id)
24  {
25      Info("Process.Start XXX not used,kill");
26      proce.Kill();
27  }

 

标签:用户名,pvobj,进程,startInfo,组件,服务器,null,8000401a
From: https://www.cnblogs.com/WaLi/p/18311367

相关文章

  • Windows平台如何使用Gitblit搭建Git服务器
    软件:Java:1.8gitblit:本文使用版本1.9.3,是官网的最新版。下载后,直接解压无须安装。官网地址:http://www.gitblit.com/gitlit配置:1、创建用于存储资料的文件夹(E:\git\Repository)2、找到Gitblit目录下的data文件下的 default.properties 文件,用“记事本”或文本编......
  • 20240719-CentOS7 ftp服务器搭建与xftp连接
    在CentOS7上搭建ftp服务器,可以使用vsftpd守护进程。安装vsftpd:sudoyuminstall-yvsftpd启动并使vsftpd开机自启:sudosystemctlstartvsftpdsudosystemctlenablevsftpd配置vsftpd编辑配置文件/etc/vsftpd/vsftpd.conf,根据需要修改如下配置:anonymous_enable=NO#禁用......
  • 如何在已有内网网络中增加项目专用域名解析服务器(DNS)
    需求背景如下:某项目有一系列多个BS软件平台是在与互联网完全隔离的内部网络中运行的,现在需要使用已有的域名hello.com(示例)在内网中用作各平台的访问(二级域名),此域名已购买SSL证书(*.hello.com)。现有的内网网络环境中已经有一台DNS服务器了,网络中的电脑也都设置了使用此DNS服务器A......
  • Client访问HTTP服务器实验报告
    实验要求:通过配置实现client使用域名访问HTTP服务器例图:1.配置路由基本信息<Huawei>system-view 进入系统视图[Huawei]sysnameR1    修改设备名称[R1]interfaceg0/0/0      进入千兆以太网接口[R1-GigabitEthernet0/0/0]ipaddress192.168.1.10024 ......
  • 白骑士的C++教学实战项目篇 4.3 多线程网络服务器
    系列目录上一篇:白骑士的C++教学实战项目篇4.2学生成绩管理系统        在这一节中,我们将实现一个多线程网络服务器项目,通过该项目,我们将学习套接字编程的基础知识以及如何使用多线程处理并发连接。此外,我们还将实现一个简单的客户端来与服务器进行通信。项目简介......
  • 在AWS无服务器架构上实施应用程序接口
       本文介绍了在AWS无服务器架构上实现RESTfulAPI的过程。它详细概述了架构、数据流和可使用的AWS服务。本文还介绍了无服务器架构与传统方法相比的优势。什么是无服务器架构?   无服务器架构,又称无服务器计算或功能即服务,是一种软件设计方法,允许开发人员在不管理......
  • 升级TrinityCore 服务器硬件
    升级服务器原服务器:Ubuntu装VirtualBox装Ubuntu虚拟机原配置:内存1756MB内核4外接硬盘 ip192.168.0.12升级服务器:FreeBSD装bhyve装Ubuntu虚拟机新配置:内存3072MB内核4 ssd硬盘 ip192.168.1.12 除了ssh,服务器还开了VNC,要通过宿主机连上:vncvierer192.168.1.5:5......
  • linux系统和windows系统如何同步时间,服务器时间变动怎么同步
    一、Linux系统时间同步1.使用NTP(网络时间协议)NTP是最常用的Linux系统时间同步方式。NTP通过连接到外部时间服务器(如原子钟或GPS接收器)来获取高精度的时间信息,并校准本地系统时间。步骤:安装NTP客户端:在Ubuntu系统上,可以使用命令sudoapt-getinstallntp安装NTP客户端......
  • NTP时间同步服务器(卫星时钟同步装置)基本架构介绍
    NTP时间同步服务器(卫星时钟同步装置)基本架构介绍NTP时间同步服务器(卫星时钟同步装置)基本架构介绍京准电钟官微——ahjzsz摘要:基于北斗的全球卫星系统(BDS)的高精度同步时钟信号在电网广域测量系统(WAMS)等很多领域具有广泛用途;但在实际应用中存在因卫星失锁等原因导致同步时钟信号......
  • 服务器环境搭建
    服务器环境搭建概述:1.jdk环境(1.8)2.nginx(1.22.1)3.mysql(5.7.39)4.es7.5.15.activitymq5.16.56.redis2.8.17 安装包位置/usr/local/src/软件安装位置/usr/local/opt/   1. jdk环境Version:1.8安装包:jdk-8u401-linux-i586.tar.gz安装包下载地址:......