From 9a65c9167129aadcbf9af1cba13443d426071dca Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 25 May 2023 23:48:34 -0500 Subject: [PATCH] Rename SunshineSvc to SunshineService This avoids a MalwareBytes false positive. Fixes #1126 --- src/main.cpp | 2 +- .../windows/misc/autostart/autostart-service.bat | 2 +- src_assets/windows/misc/service/install-service.bat | 8 ++++++-- src_assets/windows/misc/service/uninstall-service.bat | 10 ++++++---- tools/sunshinesvc.cpp | 4 ++-- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index eacdefa2..b347cc0a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -162,7 +162,7 @@ namespace service_ctrl { return; } - service_handle = OpenServiceA(scm_handle, "SunshineSvc", service_desired_access); + service_handle = OpenServiceA(scm_handle, "SunshineService", service_desired_access); if (!service_handle) { auto winerr = GetLastError(); BOOST_LOG(error) << "OpenService() failed: "sv << winerr; diff --git a/src_assets/windows/misc/autostart/autostart-service.bat b/src_assets/windows/misc/autostart/autostart-service.bat index d18ad9a6..13c6b6bc 100644 --- a/src_assets/windows/misc/autostart/autostart-service.bat +++ b/src_assets/windows/misc/autostart/autostart-service.bat @@ -1,4 +1,4 @@ @echo off rem Set the service to auto-start -sc config sunshinesvc start= auto +sc config SunshineService start= auto diff --git a/src_assets/windows/misc/service/install-service.bat b/src_assets/windows/misc/service/install-service.bat index bca88890..03ce6e62 100644 --- a/src_assets/windows/misc/service/install-service.bat +++ b/src_assets/windows/misc/service/install-service.bat @@ -3,13 +3,17 @@ rem Get sunshine root directory for %%I in ("%~dp0\..") do set "ROOT_DIR=%%~fI" -set SERVICE_NAME=sunshinesvc +set SERVICE_NAME=SunshineService set SERVICE_BIN="%ROOT_DIR%\tools\sunshinesvc.exe" rem Set service to demand start. It will be changed to auto later if the user selected that option. set SERVICE_START_TYPE=demand -rem Check if sunshinesvc already exists +rem Remove the legacy SunshineSvc service +net stop sunshinesvc +sc delete sunshinesvc + +rem Check if SunshineService already exists sc qc %SERVICE_NAME% > nul 2>&1 if %ERRORLEVEL%==0 ( rem Stop the existing service if running diff --git a/src_assets/windows/misc/service/uninstall-service.bat b/src_assets/windows/misc/service/uninstall-service.bat index 8e6d3547..451ceb61 100644 --- a/src_assets/windows/misc/service/uninstall-service.bat +++ b/src_assets/windows/misc/service/uninstall-service.bat @@ -1,7 +1,9 @@ @echo off -set SERVICE_NAME=sunshinesvc +rem Stop and delete the legacy SunshineSvc service +net stop sunshinesvc +sc delete sunshinesvc -net stop %SERVICE_NAME% - -sc delete %SERVICE_NAME% +rem Stop and delete the new SunshineService service +net stop SunshineService +sc delete SunshineService diff --git a/tools/sunshinesvc.cpp b/tools/sunshinesvc.cpp index d2829399..fee3a693 100644 --- a/tools/sunshinesvc.cpp +++ b/tools/sunshinesvc.cpp @@ -1,6 +1,6 @@ /** * @file tools/sunshinesvc.cpp - * @brief todo + * @brief Handles launching Sunshine.exe into user sessions as SYSTEM */ #define WIN32_LEAN_AND_MEAN #include @@ -18,7 +18,7 @@ SERVICE_STATUS service_status; HANDLE stop_event; HANDLE session_change_event; -#define SERVICE_NAME "SunshineSvc" +#define SERVICE_NAME "SunshineService" DWORD WINAPI HandlerEx(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext) {