【发布时间】:2017-08-26 22:41:28
【问题描述】:
我创建了一个用于安装服务的批处理文件,因为我需要在没有 Visual Studio 的 PC 上安装我的服务。
批处理文件内容:
@echo OFF
echo Installing service...
sc create "MyService" binpath= %~dp0\MyService.exe start= auto
echo Installing service complete
pause
并且我需要在安装后自动启动 MyService,所以我编写了以下代码:
private void svInstaller_AfterInstall(object sender, InstallEventArgs e)
{
ServiceController sc = new ServiceController(svInstaller.ServiceName);
sc.Start();
}
如果我通过 Visual Studio 命令提示符和 InstallUtil 安装我的服务,则没有任何问题。 当我通过批处理文件安装服务时,我的服务没有自动启动。
如何在通过批处理文件安装后自动启动我的服务?
更新:感谢 Sam Denty 的回答,我的问题已解决。
但是我还有一个问题:当我通过sc安装我的服务时,我在AfterInstall函数中的代码不起作用?
【问题讨论】:
标签: batch-file windows-services autostart