@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION :: Executed as normal user SET "repo=https://git.mylloon.fr/Anri/confOS/raw/branch/main" SET "local=%HOMEPATH%\Documents\Local" MKDIR "!local!" 2>NUL fltmc >NUL 2>&1 || ( :: Notice ECHO Please wait until the administrator popup appears :: === Install Spotify == PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/blockthespot.bat -OutFile '!local!\blockthespot.bat'" DEL "%APPDATA%\Spotify" ECHO Y| CMD /c "!local!\blockthespot.bat" yes PowerShell -Command "Stop-Process -Name Spotify -ErrorAction SilentlyContinue" :: Start as administrator PowerShell Start -Verb RunAs '%0' 2>NUL || ( EXIT 1 ) EXIT 0 ) :: Executed as admin user :: Register modifications == ECHO Register entry... :: Right click of Windows 10 REG ADD "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve :: Disabling widgets REG ADD "HKLM\Software\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f :: Disabling hibernation (prevents computer to really shutdown) REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f powercfg /H off :: Disabling the SysMain service (preload some apps in memory) sc stop "SysMain" & sc config "SysMain" start=disabled :: Added confirmation when trashing REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v ConfirmFileDelete /t REG_DWORD /d 1 /f :: Don't create a Zone:Identify REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f :: Disables memory integrity :: see https://support.microsoft.com/en-us/windows/options-to-optimize-gaming-performance-in-windows-11-a255f612-2949-4373-a566-ff6f3f474613 REG ADD "HKLM\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 0 /f :: Disables sticky keys REG ADD "HKCU\Control Panel\Accessibility\StickyKeys" /v Flags /t REG_SZ /d 506 /f :: :: Inverts the default shortcuts for changing input language and keyboard layout :: REG ADD "HKCU\Keyboard Layout\toggle" /v "Hotkey" /t REG_SZ /d 1 /f :: REG ADD "HKCU\Keyboard Layout\toggle" /v "Language Hotkey" /t REG_SZ /d 2 /f :: Disable Game Bar REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f REG ADD "HKCU\System\GameConfigStore" /v GameDVR_Enabled /t REG_DWORD /d 0 /f :: Edge tweaks REG ADD "HKLM\Software\Policies\Microsoft\Edge" /v HubsSidebarEnabled /t REG_DWORD /d 0 /f REG ADD "HKLM\Software\Policies\Microsoft\Edge" /v ShowRecommendationsEnabled /t REG_DWORD /d 0 /f :: Disable Windows Copilot REG ADD "HKCU\Software\Policies\Microsoft\Windows\WindowsCopilot" /v TurnOffWindowsCopilot /t REG_DWORD /d 1 /f :: Disable checkboxes in explorer REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v AutoCheckSelect /t REG_DWORD /d 0 /f :: === WinGet == :: Auto accept ToT ECHO Y | winget list >NUL SET "pmi=winget install -he" :: C++ libraries SET ^"cpp_libs=^ Microsoft.VCRedist.2005.x86 Microsoft.VCRedist.2005.x64 ^ Microsoft.VCRedist.2008.x86 Microsoft.VCRedist.2008.x64 ^ Microsoft.VCRedist.2010.x86 Microsoft.VCRedist.2010.x64 ^ Microsoft.VCRedist.2012.x86 Microsoft.VCRedist.2012.x64 ^ Microsoft.VCRedist.2013.x86 Microsoft.VCRedist.2013.x64 ^ Microsoft.VCRedist.2015+.x86 Microsoft.VCRedist.2015+.x64" ECHO C++ libraries... for %%i in (!cpp_libs!) do ( !pmi! %%i ) :: .NET libraries SET ^"net_libs=^ Microsoft.DotNet.DesktopRuntime.3_1 Microsoft.DotNet.SDK.3_1 ^ Microsoft.DotNet.DesktopRuntime.5 Microsoft.DotNet.SDK.5 ^ Microsoft.DotNet.DesktopRuntime.6 Microsoft.DotNet.SDK.6 ^ Microsoft.DotNet.DesktopRuntime.7 Microsoft.DotNet.SDK.7" ECHO .NET libraries... for %%i in (!net_libs!) do ( !pmi! %%i ) :: Java dev kits SET ^"java_jdk=^ EclipseAdoptium.Temurin.8.JDK EclipseAdoptium.Temurin.17.JDK" ECHO JDK... for %%i in (!java_jdk!) do ( !pmi! %%i ) :: Applications SET ^"apps=^ Discord.Discord Spotify.Spotify Mozilla.Firefox 7zip.7zip Obsidian.Obsidian ^ voidtools.Everything.Lite VideoLAN.VLC Parsec.Parsec Microsoft.PowerShell ^ Microsoft.VisualStudioCode GIMP.GIMP Armin2208.WindowsAutoNightMode ^ TheDocumentFoundation.LibreOffice DuongDieuPhap.ImageGlass Frontesque.scrcpy+ ^ OBSProject.OBSStudio Xournal++.Xournal++ Microsoft.PowerToys ^ OpenWhisperSystems.Signal KDE.KDEConnect" ECHO Apps... for %%i in (!apps!) do ( !pmi! %%i ) :: Games related SET ^"games=^ Peppy.Osu! RiotGames.LeagueOfLegends.EUW RiotGames.Valorant.EU Valve.Steam ^ HeroicGamesLauncher.HeroicGamesLauncher PrismLauncher.PrismLauncher" ECHO Games... for %%i in (!games!) do ( !pmi! %%i ) :: === Install WSL == ECHO WSL... wsl --install --no-distribution :: === Modules == PowerShell -Command "Install-PackageProvider -Name NuGet -Force" PowerShell -Command "Install-Module -Name PSWindowsUpdate -Force" :: === Download scripts == PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/ctmpf.bat -OutFile '!local!\ctmpf.bat'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/update.bat -OutFile '!local!\update.bat'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/fix_nvidia_wsl.bat -OutFile '!local!\fix_nvidia_wsl.bat'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/vencord_installer.bat -OutFile '!local!\vencord_installer.bat'" :: PowerShell -Command "Invoke-WebRequest -Uri !repo!/windows/fix_obs_shortcut.bat -OutFile '!local!\fix_obs_shortcut.bat'" :: === Programs installation == :: Install W10Privacy ECHO W10Privacy... PowerShell -Command "Invoke-WebRequest -Uri !repo!/W10Privacy.ini -OutFile '%HOMEPATH%\Downloads\W10Privacy.ini'" ECHO Ensuite, utilise W10Privacy avec le fichier present dans %HOMEPATH%\Downloads. PowerShell -Command "" ^ "$archive = '%TEMP%\W10Privacy.zip';" ^ "Invoke-WebRequest -Uri https://www.w10privacy.de/app/download/12302828636/W10Privacy.zip -OutFile $archive;" ^ "Expand-Archive -Path $archive -DestinationPath $env:TEMP -Force;" ^ "$file = $env:TEMP + '\\' + (Get-ChildItem $env:TEMP\W10Privacy*.exe).BaseName + '.exe';" ^ "Start-Process $file /S -NoNewWindow -Wait -PassThru;" ^ "$shortcut = '%APPDATA%\Microsoft\Windows\Start Menu\Programs\W10Privacy.lnk';" ^ "$bytes = [System.IO.File]::ReadAllBytes($shortcut);" ^ "$bytes[0x15] = $bytes[0x15] -bor 0x20;" ^ "[System.IO.File]::WriteAllBytes($shortcut, $bytes)" :: Install Geek Uninstaller ECHO Geek Uninstaller... PowerShell -Command "" ^ "$archive = '%TEMP%\geek.zip';" ^ "Invoke-WebRequest -Uri https://geekuninstaller.com/geek.zip -OutFile $archive;" ^ "Expand-Archive -Path $archive -DestinationPath '%ProgramFiles%\Geek Uninstaller' -Force;" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\Geek Uninstaller.lnk');" ^ "$Shortcut.TargetPath = '%ProgramFiles%\Geek Uninstaller\geek.exe';" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\geek" /f /v DisplayName /t REG_SZ /d "Geek Uninstaller" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\geek" /f /v InstallLocation /t REG_SZ /d "%ProgramFiles%\Geek Uninstaller" :: Install LosslessCut ECHO LosslessCut... PowerShell -Command "" ^ "$archive = 'LosslessCut-win-x64.7z';" ^ "$link = 'https://github.com/mifi/lossless-cut/releases/latest/download/' + $archive;" ^ "$outfile = Join-Path -Path $env:TEMP -ChildPath $archive;" ^ "Invoke-WebRequest -Uri $link -OutFile $outfile;" ^ "cd $env:TEMP;" ^ "& $env:ProgramFiles\7-Zip\7z.exe x $archive -o'%ProgramFiles%\LosslessCut' -y;" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\LosslessCut.lnk');" ^ "$Shortcut.TargetPath = '%ProgramFiles%\LosslessCut\LosslessCut.exe';" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\LosslessCut" /f /v DisplayName /t REG_SZ /d "LosslessCut" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\LosslessCut" /f /v InstallLocation /t REG_SZ /d "%ProgramFiles%\LosslessCut" :: Install DSR ECHO DSR... PowerShell -Command "" ^ "$releases = 'https://git.mylloon.fr/api/v1/repos/Anri/dsr/releases/latest';" ^ "$link = (Invoke-WebRequest $releases | ConvertFrom-Json)[0].assets.browser_download_url;" ^ "$archive = '%TEMP%\dsr.zip';" ^ "Invoke-WebRequest -Uri $link -OutFile $archive;" ^ "Remove-Item '%LOCALAPPDATA%\DSR' -Recurse -ErrorAction SilentlyContinue;" ^ "Expand-Archive -Path $archive -DestinationPath '%LOCALAPPDATA%\DSR' -Force;" ^ "Move-Item -Path '%LOCALAPPDATA%\DSR\dsr-win32-x64\*' -Destination '%LOCALAPPDATA%\DSR' -Force;" ^ "Remove-Item '%LOCALAPPDATA%\DSR\dsr-win32-x64';" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\DSR.lnk');" ^ "$Shortcut.TargetPath = '%LOCALAPPDATA%\DSR\dsr.exe';" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\dsr" /f /v DisplayName /t REG_SZ /d "DSR" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\dsr" /f /v InstallLocation /t REG_SZ /d "%LOCALAPPDATA%\DSR" :: Install Vencord :: use local script CMD /c "!local!\vencord_installer.bat" yes :: Install OpenTabletDriver ECHO OpenTabletDriver... PowerShell -Command "" ^ "Invoke-WebRequest -Uri https://opentabletdriver.net/Release/Download/OpenTabletDriver.win-x64.zip -OutFile '%TEMP%\OpenTabletDriver.win-x64.zip';" ^ "Expand-Archive -Path '%TEMP%\OpenTabletDriver.win-x64.zip' -DestinationPath '%ProgramFiles%\OpenTabletDriver' -Force;" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\OpenTabletDriver.lnk');" ^ "$Shortcut.TargetPath = '%ProgramFiles%\OpenTabletDriver\OpenTabletDriver.UX.Wpf.exe';" ^ "$Shortcut.WorkingDirectory = '%ProgramFiles%\OpenTabletDriver';" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTabletDriver" /f /v DisplayName /t REG_SZ /d "OpenTabletDriver" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTabletDriver" /f /v InstallLocation /t REG_SZ /d "%ProgramFiles%\OpenTabletDriver" :: WindowsInk for OpenTabletDriver ECHO WindowsInk support for OpenTabletDriver... PowerShell -Command "Invoke-WebRequest -Uri https://github.com/X9VoiD/vmulti-bin/releases/download/v1.0/VMulti.Driver.zip -OutFile '%TEMP%\VMulti-Driver.zip'" PowerShell -Command "Expand-Archive -Path '%TEMP%\VMulti-Driver.zip' -DestinationPath '%TEMP%\VMulti-Driver' -Force" CALL "%TEMP%\VMulti-Driver\install_hiddriver.bat" PowerShell -Command "Invoke-WebRequest -Uri https://github.com/X9VoiD/VoiDPlugins/releases/latest/download/WindowsInk.zip -OutFile '%TEMP%\WindowsInk.zip'" PowerShell -Command "Expand-Archive -Path '%TEMP%\WindowsInk.zip' -DestinationPath '%LOCALAPPDATA%\OpenTabletDriver\Plugins\Windows Ink' -Force" :: Install VALORANT rank yoinker ECHO VALORANT rank yoinker... PowerShell -Command "" ^ "$repo = 'zayKenyon/VALORANT-rank-yoinker';" ^ "$releases = \"https://api.github.com/repos/$repo/releases\";" ^ "$tag = (Invoke-WebRequest $releases | ConvertFrom-Json)[0].tag_name;" ^ "$file = \"VALORANT-rank-yoinker_$tag.zip\";" ^ "$link = \"https://github.com/$repo/releases/download/$tag/$file\";" ^ "$archive = 'vry.zip';" ^ "$outfile = Join-Path -Path $env:TEMP -ChildPath $archive;" ^ "Invoke-WebRequest -Uri $link -OutFile $outfile;" ^ "cd $env:TEMP;" ^ "Expand-Archive -Path $archive -DestinationPath '%LOCALAPPDATA%\VALORANT-rank-yoinker' -Force;" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\VRY.lnk');" ^ "$Shortcut.WorkingDirectory = '%LOCALAPPDATA%\VALORANT-rank-yoinker';" ^ "$Shortcut.TargetPath = '%LOCALAPPDATA%\VALORANT-rank-yoinker\vry.exe';" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\vry" /f /v DisplayName /t REG_SZ /d "VALORANT-rank-yoinker" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\vry" /f /v InstallLocation /t REG_SZ /d "%LOCALAPPDATA%\VALORANT-rank-yoinker" :: Install Deceive ECHO Deceive... MKDIR "%ProgramFiles%\Deceive" 2>NUL PowerShell -Command "" ^ "$exe = 'Deceive.exe';" ^ "$link = 'https://github.com/molenzwiebel/Deceive/releases/latest/download/' + $exe;" ^ "$outfile = Join-Path -Path '%ProgramFiles%\Deceive' -ChildPath $exe;" ^ "Invoke-WebRequest -Uri $link -OutFile $outfile;" ^ "$WshShell = New-Object -comObject WScript.Shell;" ^ "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\Deceive.lnk');" ^ "$Shortcut.TargetPath = \"%ProgramFiles%\Deceive\$exe\";" ^ "$Shortcut.Save()" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Deceive" /f /v DisplayName /t REG_SZ /d "Deceive" REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Deceive" /f /v InstallLocation /t REG_SZ /d "%ProgramFiles%\Deceive" :: :: Install Topgrade :: ECHO Topgrade... :: PowerShell -Command "" ^ :: "$repo = 'topgrade-rs/topgrade';" ^ :: "$releases = \"https://api.github.com/repos/$repo/releases\";" ^ :: "$tag = (Invoke-WebRequest $releases | ConvertFrom-Json)[0].tag_name;" ^ :: "$file = \"topgrade-$tag-x86_64-pc-windows-msvc.zip\";" ^ :: "$link = \"https://github.com/$repo/releases/download/$tag/$file\";" ^ :: "$archive = 'topgrade.zip';" ^ :: "$outfile = Join-Path -Path $env:TEMP -ChildPath $archive;" ^ :: "Invoke-WebRequest -Uri $link -OutFile $outfile;" ^ :: "cd $env:TEMP;" ^ :: "Expand-Archive -Path $archive -DestinationPath '%ProgramFiles%\Topgrade' -Force" :: REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Topgrade" /f /v DisplayName /t REG_SZ /d "Topgrade" :: REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Topgrade" /f /v InstallLocation /t REG_SZ /d "%ProgramFiles%\Topgrade" :: :: Install Xournal++ :: ECHO Xournal++... :: PowerShell -Command "" ^ :: "$repo = 'xournalpp/xournalpp';" ^ :: "$releases = \"https://api.github.com/repos/$repo/releases\";" ^ :: "$tag = (Invoke-WebRequest $releases | ConvertFrom-Json)[1].tag_name;" ^ :: "$file = \"xournalpp-$($tag.substring(1))-windows.zip\";" ^ :: "$link = \"https://github.com/$repo/releases/download/$tag/$file\";" ^ :: "$archive = 'xournalpp.zip';" ^ :: "$outfile = Join-Path -Path $env:TEMP -ChildPath $archive;" ^ :: "Invoke-WebRequest -Uri $link -OutFile $outfile;" ^ :: "cd $env:TEMP;" ^ :: "Expand-Archive -Path $archive -DestinationPath $env:TEMP -Force;" ^ :: "$exe = $env:TEMP + '\' + $file.Substring(0, $file.Length - 3) + 'exe';" ^ :: "Start-Process $exe /S" :: === Miscellaneous == :: Rename shortcut for Minecraft RENAME "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Prism Launcher.lnk" Minecraft.lnk :: Firefox configuration "%ProgramFiles%\Mozilla Firefox\firefox.exe" TIMEOUT 5 TASKKILL /im firefox.exe /F ECHO Firefox configuration... FOR /F %%i IN ('dir /B /S ^"%APPDATA%\Mozilla\Firefox\Profiles\*.default-release^"') DO SET "vbc=%%i" PowerShell -Command "Invoke-WebRequest -Uri !repo!/.mozilla/firefox/user.js -OutFile '!vbc!\user.js'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/.mozilla/firefox/extensions/Dark-Reader-Settings.json -OutFile '%HOMEPATH%\Downloads\Dark-Reader-Settings.json'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/.mozilla/firefox/extensions/SponsorBlockConfig.json -OutFile '%HOMEPATH%\Downloads\SponsorBlockConfig.json'" PowerShell -Command "Invoke-WebRequest -Uri !repo!/.mozilla/firefox/extensions/auto-tab-discard-preferences.json -OutFile '%HOMEPATH%\Downloads\auto-tab-discard-preferences.json'" ECHO La configuration des differents Addons de Firefox est presente dans le dossier %HOMEPATH%\Downloads. :: Setup WindowsAutoNightMode ECHO WindowsAutoNightMode configuration... MKDIR "%APPDATA%\AutoDarkMode" 2>NUL PowerShell -Command "Invoke-WebRequest -Uri !repo!/.config/WindowsAutoNightMode/config.yaml -OutFile '%APPDATA%\AutoDarkMode\config.yaml'" "%LOCALAPPDATA%\Programs\AutoDarkMode\adm-app\AutoDarkModeApp.exe" :: :: Startup OBS replay buffer :: PowerShell -Command "$WshShell = New-Object -COM WScript.Shell;" ^ :: "$Shortcut = $WshShell.CreateShortcut('%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\OBS.lnk');" ^ :: "$Shortcut.TargetPath = '%ProgramFiles%\obs-studio\bin\64bit\obs64.exe';" ^ :: "$Shortcut.WorkingDirectory = '%ProgramFiles%\obs-studio\bin\64bit';" ^ :: "$Shortcut.Arguments = '--disable-missing-files-check --minimize-to-tray " ^ :: "--startreplaybuffer --profile ""ReplayBuffer"""" --scene ""ReplayBuffer""""';" ^ :: "$Shortcut.Save()" :: :: Default shortcut should start default profile :: CALL "!local!\fix_obs_shortcut.bat" yes :: :: Allow system to go in sleep mode when OBS is running :: powercfg -requestsoverride process obs64.exe display system awaymode :: === Drivers notice == ECHO Installe les pilotes, pour connaitre la liste des pilotes, utilise UserDiag https://userdiag.com/download ECHO Pour NVidia, utilise NVC et DDU :: === End message == ECHO "" ECHO Fais un tour des parametres Windows, apres avoir fait toutes les mises a jour disponible sur le PC. ECHO Enfin, redemarre l'ordinateur PAUSE EXIT /B