c# - Windows服务未显示在控制面板下的“添加删除程序”中

标签 c# .net service windows-services windows-installer

我通过(服务名称:测试服务)安装了Windows服务


  .NET Framework中存在InstallUtil.exe
  (:\ Windows \ Microsoft.NET \ FrameWork64 \ v4)在Windows 7计算机中。


我可以在服务控制台下看到我的服务。

但是,我转到控制面板的程序和功能来手动卸载同一服务,但我没有在程序和功能下看到我的服务?


  为何不显示服务的任何想法,以便用户可以
  卸载吗?


我也检查了显示隐藏文件,但仍然没有显示服务?

最佳答案

InstallUtil.exe:如其他人所述,InstallUtil.exe仅用于开发用途,而不用于服务的最终分发。

MSI:按照您描述的方式(在添加/删除程序中有适当的条目)部署服务的通常方法是使用MSI安装程序,该安装程序是使用旨在帮助您完成此操作的工具创建的(不建议“滚动您的自己的”工具来执行此操作)。




  临时:下面对部署工具的临时描述是匆忙编写的,已被重新用作常规描述。
  这样的工具。与提出的问题不太相关,但是有点“发生”了,就在这里。




免费的MSI工具/查看器

How can I compare the content of two (or more) MSI files?(朝下)-(大多数)不是功能齐全的工具,可以进行设置,但对检查MSI文件和创建转换非常有用。



MSI工具:入围

例如,有许多工具可用于MSI创建(任意顺序-指向下面Stefan Kruger的installsite.org的链接将显示更多工具,这些只是最常用的工具):

WiX-quick download


免费的开源框架-出色,但有学习曲线,因此还有更多链接。


WiX quick-start tips(有点混乱,奇怪地反对,一定会有所帮助)。
WiX的商业分支FireGiant has a WiX expansion pack(需要付费)。
Windows Installer and the creation of WiX(WiX背后的想法是什么?)。
How to install and start a Windows Service using WiX
文档:ServiceInstallServiceControl
未经测试:How to create a Windows Service MSI Installer Using WiX

IsWiX-quick download


部署和MSI专家Chris Painter有自己的免费基于WiX的工具,称为IsWiX
它可以帮助WiX学习并管理WiX源文件。
另请参见他的IsWiX Tutorials



Advanced Installer-quick download


出色的商业工具,提供许多技巧,可帮助您快速可靠地交付包裹。
Some free features
Here is a great gateway进入所有高级安装程序。
installing serviceshow-to


Installshield-quick download


久负盛名的市场领先工具Installshield具有非常丰富的功能集,能够满足高级设置要求。
有一个Installshield Lite版本。不确定其功能集。花费金钱。
Service FAQ


PACE suite-quick download


Maybe search for "services" here - page 50


Visual Studio Installer project type


Visual Studio(Visual Studio Installer project type)中也有VS 2017 sample
我真的不建议这样做-特别是如果您有高级部署或自动化要求。
这是非常基本的,并且there are many severe limitations




MSI工具:比较和描述

以上工具在实际使用中是什么样的?以下是一些实用的观察和总结:


How to create windows installer(推荐概述)。
What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc(这些主要MSI工具的老化,详细比较-非常详细和“实用”)。




部署工具(常规)

还有许多其他工具可用于创建各种类型的创建安装程序/ setup.exe文件(不仅是MSI工具,而且是通用工具,旧版工具,多平台工具等):

Stefan Kruger的综合列表:


非MSI安装程序工具:http://www.installsite.org/pages/en/tt_nonmsi.htm
Windows安装程序工具:http://www.installsite.org/pages/en/msi/authoring.htm
系统管理员工具:http://www.installsite.org/pages/en/msi/admins.htm


其他连结:


跨平台安装程序:Does an universal cross-platform installer exists?(非MSI工具)。
dotNetInstaller:还有一个dotNetInstaller Setup Bootstrapper-我从未使用过。


Here it is on github.com(来源)。
仅仅是一个引导程序(先为您运行,然后依次运行),而不是这样的开发工具。我发现这个工具“有点奇怪”。



一些常规链接:还有其他多种部署方式-例如,使用自解压zip档案之类的东西。不推荐,但有些链接:


Error Creating a 7-zip installer package(7-Zip,iExpress和其他自解压程序的创建者)
Combine exe and msi file in one installer(推荐)
Visual Studio 2017 Installer Project - include VC++ 2015 Redistributable(WiX Burn快速入门)
Additional Setup in Visual Studio Installer Projects

关于c# - Windows服务未显示在控制面板下的“添加删除程序”中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225031/

相关文章:

c++ - 如何让 C++ Windows 服务在用户登录/注销或 PC 进入休眠/休眠状态时得到正确通知

c# - 用于生成显示 x 秒的初始屏幕的最小独立 WPF/C#

C# 运行时错误 : "DataGridViewComboBoxCell value is not valid"

c# - 动态创建控件与拖放

windows - 服务 创建服务 - 将 SC_MANAGER_CREATE_SERVICE 分配给用户

android - 如何使用 Hilt 将 SharedPreferences 注入(inject)后台服务

c# - MongoDB 的推送和根在 C# 中的等效项是什么?

c# - 在 C# 中使用指令声明伪类型

c# - LISP 开发人员将如何解决 AutoMapper 在 .NET 中解决的问题?

.net - 为什么.NET 4.0 在加载非托管 DLL 时会出现 "CRT not initialized"错误?