sc query GarenaPlatform | find /I "RUNNING"
if %errorlevel% equ 0 sc stop GarenaPlatform
tasklist | find /I "Garena.exe"
if %errorlevel% equ 0 (
	taskkill /F /IM Garena.exe
	taskkill /F /IM gxx.exe
	taskkill /F /IM gxxsvc.exe
	timeout 2
)

mkdir "%~dp0ICafeCloud\ProgramData\Garena" 2>nul

rmdir "%ProgramData%\Garena" /S /Q
mklink /J "%ProgramData%\Garena" "%~dp0ICafeCloud\ProgramData\Garena"

Reg.exe add "HKLM\SOFTWARE\WOW6432Node\Garena\gxx" /f /v "path" /t REG_SZ /d "%~dp0Garena.exe"

set "GxxSvcPath="
for /f "delims=" %%i in ('dir /b /s /a-d "%~dp0gxxsvc.exe" 2^>nul') do set "GxxSvcPath=%%i"
if defined GxxSvcPath (
	for %%i in ("%GxxSvcPath%\..") do set "GxxVer=%%~nxi"
	Reg.exe add "HKLM\SOFTWARE\WOW6432Node\Garena\gxx" /f /v "ver" /t REG_SZ /d "%GxxVer%"
	2>nul sc delete "GarenaPlatform"
	sc create "GarenaPlatform" binPath= "\"%GxxSvcPath%\" run" start= auto type= own DisplayName= "Garena platform service"
	sc config "GarenaPlatform" group= "COM Infrastructure"
)

set "script_dir=%~dp0"
set "shortcut_exe_path=%~dp0Garena.exe"
set "shortcut_work_dir=%script_dir:~0,-1%"
set "shortcut_name=Garena"
set "desktop_folder=%USERPROFILE%\Desktop"

powershell -Command "$s=(New-Object -ComObject WScript.Shell).CreateShortcut('%desktop_folder%\%shortcut_name%.lnk'); $s.TargetPath='%shortcut_exe_path%'; $s.WorkingDirectory='%shortcut_work_dir%'; $s.Save()"
