You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sc命令安装C# Worker服务后提示未安装的问题排查求助

问题排查与解决方案

查看sc.exe create执行结果的方法

  • 直接以管理员身份启动命令提示符,手动执行sc create命令,不要嵌套runas执行,命令执行后会直接在控制台返回成功/失败状态和错误码
  • 打开Windows事件查看器,定位到「Windows 日志 > 系统」,筛选来源为「Service Control Manager」的日志,可查看服务安装、启动相关的详细错误记录

已发现的操作错误点

命令语法错误

你使用的sc create命令缺少必填的binPath参数声明,且sc命令要求参数名后的等号和参数值之间必须保留空格,你当前的命令不符合语法规范,是安装失败的核心原因。

权限问题

安装Windows服务需要本地管理员权限,使用runas指定普通用户执行安装命令默认没有足够权限,建议直接右键选择「以管理员身份运行」命令提示符后再执行操作。

发布命令笔误

你写的发布参数/p:PublishedTrimmed=true存在拼写错误,正确参数为/p:PublishTrimmed=true,同时-- self-contained中间的空格多余,该类错误虽不直接导致服务安装失败,但会导致发布配置不生效。

业务逻辑隐患

你的Worker.cs代码中,将SocketServer的初始化和启动放在了while循环内,会导致每次循环都重复创建SocketServer实例,建议将SocketServer的初始化移到循环外,仅启动一次即可。

正确操作步骤

  1. 修正发布命令后重新发布程序:
dotnet publish .\WorkerServiceTest2\ -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true
  1. 以管理员身份打开命令提示符,执行服务安装命令:
sc.exe create WorkerServiceTest2 binPath= "c:\Users\MYYUSERNAME\Documents\bla\bla\bla\WorkerServiceTest2.exe"
  1. 命令执行成功后即可在服务列表看到对应服务,执行启动命令即可运行:
sc.exe start WorkerServiceTest2

内容的提问来源于stack exchange,提问作者Kim Sandberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:36:04