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

为何通过InstallUtil安装的Windows服务未出现在控制面板程序和功能中?

为什么用InstallUtil安装的Windows服务不在“程序和功能”里?

这个问题我之前帮不少开发者解决过,本质是InstallUtil的定位和普通安装包完全不一样,具体原因有这几点:

  • InstallUtil只负责注册服务,不写入卸载注册表:Windows的“程序和功能”列表是从系统注册表的Uninstall项读取信息的,普通安装包(比如MSI)会自动在这里添加卸载条目。但InstallUtil是.NET Framework提供的轻量工具,它的唯一作用是把你的服务程序注册到Windows服务控制管理器中,根本不会碰卸载注册表,所以自然不会出现在那个列表里。
  • 你的服务没配置卸载条目逻辑:如果想让服务出现在“程序和功能”里,需要在服务的安装类(继承自Installer的类)里手动添加代码,向注册表写入卸载信息,或者直接用WiX、InstallShield这类专业打包工具做安装包——直接裸用InstallUtil是不会自动生成这些的。
  • 显示隐藏文件没用:“程序和功能”的列表和文件是否隐藏完全无关,它只认注册表信息,所以你开了显示隐藏文件也找不到,这是正常的。
那怎么卸载这个Testing Service服务?

别担心,有两种靠谱的方法:

  1. 用InstallUtil官方反安装(推荐):
    打开管理员权限的命令提示符,先导航到你用的.NET Framework路径:

    cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
    

    然后运行反安装命令,记得替换成你实际的服务EXE路径:

    InstallUtil.exe /u "C:\你的服务程序所在路径\TestingService.exe"
    

    执行完后,去服务控制台刷新一下,服务就没了。

  2. 用sc命令强制删除(适合InstallUtil失效的情况):
    如果找不到原来的服务程序,或者InstallUtil执行报错,就用这个方法:
    还是开管理员命令提示符,先停止服务(如果它在运行):

    sc stop "Testing Service"
    

    然后删除服务:

    sc delete "Testing Service"
    

    这个命令直接操作Windows服务的注册表项,见效快。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:02:02