我正在尝试卸载Windows服务,但我收到以下消息。
所以我认为好了它被删除了。但当我检查我的服务窗口时,它仍然在那里..任何人都知道我做错了什么?我将在下面附上我的代码。
[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ErrorLogging errLog { get; set; }
public ProjectInstaller()
{
errLog = new ErrorLogging();
InitializeComponent();
}
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
try
{
/* Some folder creation happens here */
}
catch (InstallException ex)
{
errLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Creating directories failed");
}
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
}
我尝试过:
答案 0 :(得分:1)
MSI不会进行任何检查,因为您正在退出流程而不使用本机MSI功能。如果使用内置的ServiceInstall和ServiceControl表而不是重新发明轮子,安装程序将更简单可靠。
答案 1 :(得分:0)
假设您的问题与代码无关,并且您只是想从该计算机中删除该服务:
如果这没有帮助,则会有服务删除命令:
sc delete ServiceName
答案 2 :(得分:0)
从代码中可以看出,您只想卸载,但如果您使用InstallUtil,它无论出于何种原因都会失败。
但是还有其他解决方案可以删除服务:
打开命令提示符(您可能需要以管理员身份打开它并执行:
sc delete ServiceName
注意:如果您的服务名称包含一些间隔,则需要将其包装起来:
sc delete "My service name with spaces"
打开注册表并导航至: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
在此处查找您的服务,将其删除并重启系统。
这是您必须在不使用InstallUtil
的情况下删除服务的两个选项