C# 使用批处理启动Windows服务
当期环境:Win11家庭版
注:批处理文件编码方式需设置为ANSI
启动服务:
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
echo 关闭服务
net stop "CloudFilmLaunchService"
echo 开启服务
net start "CloudFilmLaunchService"
pause
方式二:
@echo off @title Installing windows services path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319 echo============================================================== echo= echo Windows Service program installation echo= echo============================================================== @echo off InstallUtil.exe CloudFilmLaunchService.exe pause
卸载服务:
@echo off @title Windows service uninstall path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319 echo============================================================== echo= echo Windows service uninstall echo= echo============================================================== @echo off InstallUtil.exe /u CloudFilmLaunchService.exe pause
安装XXWindowsService,[SC] OpenService 失败
服务命令无法启动,参考:https://blog.csdn.net/qq_39569480/article/details/124150871 解决问题
1.使用管理员身份运行VS 重新生成服务文件
2.修改注册表配置,重启电脑,配置如下:
打开cmd,输入regedit,进入注册表==》HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA 的值改为0
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA 的值改为0


