From 5fbc1a7289725a955339424f7d089d24259b3189 Mon Sep 17 00:00:00 2001 From: jazir5 <31750063+jazir555@users.noreply.github.com> Date: Mon, 23 Jun 2025 17:42:37 -0700 Subject: [PATCH] Create testupdateforplaynite.bat --- testupdateforplaynite.bat | 176 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 testupdateforplaynite.bat diff --git a/testupdateforplaynite.bat b/testupdateforplaynite.bat new file mode 100644 index 0000000..aed8cd9 --- /dev/null +++ b/testupdateforplaynite.bat @@ -0,0 +1,176 @@ +@echo off +:: Self-elevating Admin script +:: This script will automatically request admin rights if not running as admin + +:: Check for admin rights and self-elevate if needed +>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" +if '%errorlevel%' NEQ '0' ( + echo Requesting administrative privileges... + 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" + pushd "%CD%" + CD /D "%~dp0" + +echo Setting Playnite as default shell + +echo Set Playnite as the default shell +SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" +SET "VALUE_NAME=Shell" +SET "PLAYNITE_FOLDER=%LOCALAPPDATA%\Playnite" +SET "PLAYNITE_PATH=%LOCALAPPDATA%\Playnite\Playnite.FullscreenApp.exe" +REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%PLAYNITE_PATH%" /f +SET "SCRIPT_NAME=DelayedExplorerStart.bat" +SET "SCRIPT_PATH=%PLAYNITE_FOLDER%\%SCRIPT_NAME%" +SET "EXPLORER_PATH=C:\Windows\explorer.exe" + +@echo off +SETLOCAL EnableExtensions EnableDelayedExpansion + +echo Creating DelayedExplorerStart.bat script + +echo Create the DelayedExplorerStart.bat script in the Playnite folder +( +echo @echo off +echo rem Check if user is logged on +echo whoami ^| find /i "%USERNAME%" ^>nul +echo if ERRORLEVEL 1 exit +echo rem Set Shell back to Explorer +echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f +echo timeout /t 20 /nobreak ^>nul +echo powershell -WindowStyle Hidden -NoProfile -Command "Start-Process explorer.exe" +echo timeout /t 10 /nobreak ^>nul +echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%PLAYNITE_PATH%" /f +) > "%SCRIPT_PATH%" + + +echo %VBS_PATH% + +echo Creating RunBatchSilently.vbs script + +:: Create VBScript to run the batch file silently +@echo off +SET "VBS_NAME=RunBatchSilently.vbs" +SET "VBS_PATH=%PLAYNITE_FOLDER%\%VBS_NAME%" +echo Set WshShell = CreateObject("WScript.Shell") > "%VBS_PATH%" +echo WshShell.Run chr(34)^&"%SCRIPT_PATH%"^&chr(34), 0, True >> "%VBS_PATH%" +echo Set WshShell = Nothing >> "%VBS_PATH%" + +echo Create XML file for the scheduled task +SET XML_PATH=%PLAYNITE_FOLDER%\DelayedExplorerStartTask.xml + +echo Delete the existing XML file if it exists +IF EXIST "%XML_PATH%" DEL "%XML_PATH%" + +( +echo ^ +echo ^ +echo ^ +echo ^2020-01-01T00:00:00^ +echo ^"%USERNAME%"^ +echo ^Run DelayedExplorerStart.bat at logon.^ +echo ^ +echo ^ +echo ^ +echo ^true^ +echo ^ +echo ^ +echo ^ +echo ^ +echo ^%USERNAME% +echo ^InteractiveToken^ +echo ^HighestAvailable^ +echo ^ +echo ^ +echo ^ +echo ^IgnoreNew^ +echo ^false^ +echo ^false^ +echo ^true^ +echo ^true^ +echo ^false^ +echo ^ +echo ^true^ +echo ^false^ +echo ^ +echo ^true^ +echo ^false^ +echo ^false^ +echo ^PT72H^ +echo ^7^ +echo ^ +echo ^ +echo ^ +echo ^wscript.exe^ +echo ^"%VBS_PATH%"^ +echo ^ +echo ^ +echo ^ +) > "%XML_PATH%" + +echo Delete the existing scheduled task if it exists +schtasks /delete /tn "RunDelayedExplorerStart" /f /ru "%USERNAME%" + +echo Create the scheduled task using the XML file +schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%" /ru "%USERNAME%" + +echo Delayed Explorer start script and VBScript created in Playnite folder. +echo Scheduled Task added to run the script at logon. +echo XML file for Scheduled Task created. + +echo Disable the boot UI +bcdedit.exe -set {globalsettings} bootuxdisabled on + +- echo Disable Logon UI +- +- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f ++ echo Checking for a blank password on %USERNAME%… ++ net user %USERNAME% > "%temp%\uinfo.txt" ++ findstr /R /C:"Password required *No" "%temp%\uinfo.txt" >nul ++ if %ERRORLEVEL%==0 ( ++ echo → No password detected: disabling Logon UI (auto‐shell mode) ++ reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" ` ++ /v DisableLogonUI /t REG_DWORD /d 1 /f ++ ) else ( ++ echo → Password detected: re‑enabling Logon UI for secure logon ++ reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" ` ++ /v DisableLogonUI /t REG_DWORD /d 0 /f ++ ) ++ del "%temp%\uinfo.txt" + +echo Disable Visual Effects +reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v VisualEffects /t REG_DWORD /d 3 /f + +echo Increase File System Performance +reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v NtfsDisableLastAccessUpdate /t REG_DWORD /d 1 /f + +echo Optimize Paging File Performance +reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f + +echo Disable Startup Delay +reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f +reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f + +echo Improve Windows Explorer Process Priority +reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f +echo Adjust Large System Cache +reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f +echo Enabling No GUI Boot +bcdedit /set {current} quietboot on + +echo Registry modifications are complete. +echo Playnite set as default shell. +echo Automatic logon enabled. +echo Boot UI disabled. + +pause