gpt4 book ai didi

.net - 安装 Windows 服务并进行恢复操作以重新启动

转载 作者:行者123 更新时间:2023-12-03 05:11:22 26 4
gpt4 key购买 nike

我正在使用 ServiceProcessInstallerServiceInstaller 类安装 Windows 服务。

我使用了ServiceProcessInstaller来设置启动类型、名称等。但是如何将恢复操作设置为重新启动?

我知道我可以在安装服务后手动执行此操作,方法是转到服务管理控制台并更改服务属性的恢复选项卡上的设置,但有没有办法在安装过程中执行此操作?

Service Property Recovery Tab

最佳答案

您可以使用 sc 设置恢复选项。以下将设置服务在失败后重新启动:

sc failure [servicename] reset= 0 actions= restart/60000

这可以很容易地从 C# 调用:

static void SetRecoveryOptions(string serviceName)
{
int exitCode;
using (var process = new Process())
{
var startInfo = process.StartInfo;
startInfo.FileName = "sc";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;

// tell Windows that the service should restart if it fails
startInfo.Arguments = string.Format("failure \"{0}\" reset= 0 actions= restart/60000", serviceName);

process.Start();
process.WaitForExit();

exitCode = process.ExitCode;
}

if (exitCode != 0)
throw new InvalidOperationException();
}

关于.net - 安装 Windows 服务并进行恢复操作以重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com