Just Paid for D2R on PC; Won't Even Launch!

It keeps telling me to update my graphics drivers but they’re already as up to date as can be! I just updated them to the max and I’m still getting this error!

BDA5AC2E-D3B6-469D-829E-1773B2FD0679

I just paid for this on console now on PC and can’t even play it on PC. This needs to be repaired or I want a refund!

Looking at the crash logs via the code you provided I can see that your PC is using Intel UHD Graphics 620. Unfortunately Intel integrated graphics fall below the minimum system requirements for Diablo II Resurrected. This would be the reason for the crash.

Refunds can not be done through the forums but you can use the support website to request a refund. Going forward it is important to double check that your PC meets the system requirements in order to avoid any crashing or performance issues.

Hopefully this info helps.

Dude What’s the release date of Your drivers?
the ones that did work for me have to be past oct 2022, as that’s the date intel has been rolling out DirectX 12 support in their drivers, if you have older ones than most likely they don’t support dx12 and hence the prompt.

How did You update your drivers?
via windows update?
via intel’s app?
via other driver update app?
or by browsing intel’s website and searching for the gpu driver by cpu model?

only the last option guarantees you’ll have the latest driver. the rest has outdated drivers.

Do bare in mind that UHD 620 is not a top notch GPU, and if the game might or might not be able to launch, it will perform very poorly, even on the barebones lowest end settings. i have UHD 615 on my tablet, and the game did launch ( although i cherry picked my driver from intels website), and my card is one generation newer than yours, since Yours is codenamed kaby-lake, and mine is amber-lake as a quick sneakpeek on the datasheet of both gpus says.

either ways are those your specs? or are you having a another gpu but the game picks an intel card?
if so please state so as there is a handy dandy trick in windows to fix this.

1 Like

I got the same problem: 1FF7FF30-8385-4BC9-B68A-DCA12EAA646E
intel core i7, 8GB ram, geforce 710M

unfortuneatly Your GPU despite beeing a dx12 level card never got the Dx12 drivers due to it beeing too low end. A 745M has heavy problems launching the game on low end graphical settings. just think how badly 710M could perform. Definetly won’t run on a 710M. In order to run try to get a device with 760M or a stronger card…
it doesn’t nessecarily mean if You get 801 or 901 or whatever it’s gong to be better just because front number is better. try to get cards that end with xx60; xx70; xx80 or xx90 those series of cards are strong enaugh to run the game, and they will if are 660 or newer ( that is beeing an Dx12 card in both feature level and driver level).

(1.) Download and Install the Latest Integrated Graphics Drivers for Intel Processors:
"Intel Graphics - Windows DCH Drivers" -> https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html

"Intel Graphics Driver for Windows [15.40]" -> https://www.intel.com/content/www/us/en/download/18369/intel-graphics-driver-for-windows-15-40.html

(2.) Download and Install the Latest Dependencies for Windows 10 / 11:

NOTE: On Windows 10 / 11: Right-click on the following batch file after saving it, and click “Run as administrator”.

(2A.) Use Notepad to create this file on your desktop or another folder: Dependency_Auto_Updater.bat
@ECHO OFF
SETLOCAL
sc config BITS start= delayed-auto
sc config EventLog start= auto
sc config UsoSvc start= auto
sc config wuauserv start= auto
net start BITS
net start EventLog
net start UsoSvc
net start wuauserv
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-PSReadLineOption -HistorySaveStyle SaveNothing -MaximumHistoryCount 1}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Write-Output 'Remove-Module PSReadline' | New-Item -Path $PROFILE -Type File -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls13}"

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /T REG_SZ /D "0" /F
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /V 2 /T REG_SZ /D "time.windows.com" /F
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /V 1 /T REG_SZ /D "time.nist.gov" /F
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /V 0 /T REG_SZ /D "time.cloudflare.com" /F

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Remove-NetFirewallRule -DisplayName 'App Updater ( * )'}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Remove-NetFirewallRule -DisplayName 'App Updater Essential ( * )'}"

IF EXIST "C:\Windows\System32\curl.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater Essential ( cURL - System32 )' -Profile Any -Program 'C:\Windows\System32\curl.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\curl.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater Essential ( cURL - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\curl.exe' -Protocol Any}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater Essential ( Windows Time Service )' -Profile Any -Protocol UDP -LocalPort 123 -RemotePort 123 -Service W32Time}"

CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( DNS Client )' -Profile Any -Protocol Any -Service Dnscache}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Background Intelligent Transfer Service )' -Profile Any -Protocol Any -Service BITS}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Cryptographic Services )' -Profile Any -Protocol Any -Service CryptSvc}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Delivery Optimization )' -Profile Any -Protocol Any -Service DoSvc}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Device Setup Manager )' -Profile Any -Protocol Any -Service DsmSvc}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Update )' -Profile Any -Protocol Any -Service wuauserv}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Update Orchestrator Service )' -Profile Any -Protocol Any -Service UsoSvc}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( AppX Deployment Service )' -Profile Any -Protocol Any -Service AppXSvc}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Microsoft Store Install Service )' -Profile Any -Protocol Any -Service InstallService}"
CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows License Manager Service )' -Profile Any -Protocol Any -Service LicenseManager}"

IF EXIST "C:\Windows\System32\Fondue.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Features on Demand UX )' -Profile Any -Program 'C:\Windows\System32\Fondue.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\OptionalFeatures.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Features )' -Profile Any -Program 'C:\Windows\System32\OptionalFeatures.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\usocoreworker.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( USO Core Worker Process )' -Profile Any -Program 'C:\Windows\System32\usocoreworker.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\MoUsoCoreWorker.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( USO Core Worker Process )' -Profile Any -Program 'C:\Windows\System32\MoUsoCoreWorker.exe' -Protocol Any}"
IF EXIST "C:\Windows\UUS\amd64\MoUsoCoreWorker.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( MoUSO Core Worker Process )' -Profile Any -Program 'C:\Windows\UUS\amd64\MoUsoCoreWorker.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\oobe\UserOOBEBroker.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Update - User OOBE Broker )' -Profile Any -Program 'C:\Windows\System32\oobe\UserOOBEBroker.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\LsaIso.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Credential Guard & VBS Key Isolation )' -Profile Any -Program 'C:\Windows\System32\LsaIso.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\sihost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Shell Infrastructure Host )' -Profile Any -Program 'C:\Windows\System32\sihost.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\SLUI.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Activation Client )' -Profile Any -Program 'C:\Windows\System32\SLUI.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\Dism.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Dism Image Servicing Utility - System32 )' -Profile Any -Program 'C:\Windows\System32\Dism.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\Dism.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Dism Image Servicing Utility - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\Dism.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\Dism\DismHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Dism Host Servicing Process - System32 )' -Profile Any -Program 'C:\Windows\System32\Dism\DismHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\Dism\DismHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Dism Host Servicing Process - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\Dism\DismHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\ImmersiveControlPanel\SystemSettings.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Settings )' -Profile Any -Program 'C:\Windows\ImmersiveControlPanel\SystemSettings.exe' -Protocol Any}"
IF EXIST "C:\Windows\servicing\TrustedInstaller.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Modules Installer )' -Profile Any -Program 'C:\Windows\servicing\TrustedInstaller.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows PowerShell - System32 )' -Profile Any -Program 'C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\WindowsPowerShell\v1.0\PowerShell.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows PowerShell - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\WindowsPowerShell\v1.0\PowerShell.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\msiexec.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Installer - System32 )' -Profile Any -Program 'C:\Windows\System32\msiexec.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\msiexec.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Windows Installer - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\msiexec.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\svchost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Host Process for Windows Services - System32 )' -Profile Any -Program 'C:\Windows\System32\svchost.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\svchost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Host Process for Windows Services - SySWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\svchost.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\browser_broker.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Browser Broker )' -Profile Any -Program 'C:\Windows\System32\browser_broker.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\BackgroundTransferHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Download - Upload Host - System32 )' -Profile Any -Program 'C:\Windows\System32\BackgroundTransferHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\BackgroundTransferHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Download - Upload Host - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\BackgroundTransferHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\backgroundTaskHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Background Task Host - System32 )' -Profile Any -Program 'C:\Windows\System32\backgroundTaskHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\SysWOW64\backgroundTaskHost.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( Background Task Host - SysWOW64 )' -Profile Any -Program 'C:\Windows\SysWOW64\backgroundTaskHost.exe' -Protocol Any}"
IF EXIST "C:\Windows\System32\AppHostRegistrationVerifier.exe" CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName 'App Updater ( App Uri Handlers Registration Verifier )' -Profile Any -Program 'C:\Windows\System32\AppHostRegistrationVerifier.exe' -Protocol Any}"

ECHO @ECHO OFF> "%~dp0RFRSH_FireWall_.bat"
ECHO SETLOCAL>> "%~dp0RFRSH_FireWall_.bat"

IF NOT EXIST "%ProgramFiles(x86)%\Microsoft\EdgeWebView" GOTO SKIP_0_LBL
CD /D "%ProgramFiles(x86)%\Microsoft\EdgeWebView\Application"
DIR /B /S "msedgewebview2.exe"> "%~dp0rfrshfrwll_0.txt"
SET /P TMP_FRWLL_RULE_EDGE_=<"%~dp0rfrshfrwll_0.txt"
IF NOT EXIST "%TMP_FRWLL_RULE_EDGE_%" GOTO SKIP_0_LBL
SET NM_VR_=App Updater ( Microsoft Edge WebView2 )
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_0.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_0_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.Getstarted_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.Getstarted_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.Getstarted_*_Arm64__*"
IF NOT EXIST "WhatsNew.Store.exe" GOTO SKIP_1_LBL
SET NM_VR_=App Updater ( Microsoft Store - Get Started App 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_13.txt' -value (Get-AppxPackage -AllUsers Microsoft.Getstarted | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_13.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Microsoft Store - Get Started App 2 )
DIR /B /S "WhatsNew.Store.exe"> "%~dp0rfrshfrwll_1.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_1.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_1_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_Arm64__*"
IF NOT EXIST "WinStore.App.exe" GOTO SKIP_2_LBL
SET NM_VR_=App Updater ( Microsoft Store App 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_14.txt' -value (Get-AppxPackage -AllUsers Microsoft.WindowsStore | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_14.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Microsoft Store App 2 )
DIR /B /S "WinStore.App.exe"> "%~dp0rfrshfrwll_2.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_2.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_2_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.StorePurchaseApp_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.StorePurchaseApp_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.StorePurchaseApp_*_Arm64__*"
IF NOT EXIST "StoreExperienceHost.exe" GOTO SKIP_3_LBL
SET NM_VR_=App Updater ( Microsoft Store - Experience Host 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_15.txt' -value (Get-AppxPackage -AllUsers Microsoft.StorePurchaseApp | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_15.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Microsoft Store - Experience Host 2 )
DIR /B /S "StoreExperienceHost.exe"> "%~dp0rfrshfrwll_3.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_3.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_3_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.WindowsStore_*_Arm64__*"
IF NOT EXIST "StoreDesktopExtension.exe" GOTO SKIP_4_LBL
SET NM_VR_=App Updater ( Microsoft Store - Desktop Extension )
DIR /B /S "StoreDesktopExtension.exe"> "%~dp0rfrshfrwll_4.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_4.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_4_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "winget.exe" GOTO SKIP_5_LBL
SET NM_VR_=App Updater ( Microsoft Store - WinGet )
DIR /B /S "winget.exe"> "%~dp0rfrshfrwll_5.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_5.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_5_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "AppInstaller.exe" GOTO SKIP_6_LBL
SET NM_VR_=App Updater ( Microsoft Store - AppInstaller 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_16.txt' -value (Get-AppxPackage -AllUsers Microsoft.DesktopAppInstaller | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_16.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Microsoft Store - AppInstaller 2 )
DIR /B /S "AppInstaller.exe"> "%~dp0rfrshfrwll_6.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_6.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_6_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "AppInstallerFullTrustAppServiceClient.exe" GOTO SKIP_7_LBL
SET NM_VR_=App Updater ( Microsoft Store - AppInstaller 3 )
DIR /B /S "AppInstallerFullTrustAppServiceClient.exe"> "%~dp0rfrshfrwll_7.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_7.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_7_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "AppInstallerPythonRedirector.exe" GOTO SKIP_8_LBL
SET NM_VR_=App Updater ( Microsoft Store - AppInstaller 4 )
DIR /B /S "AppInstallerPythonRedirector.exe"> "%~dp0rfrshfrwll_8.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_8.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_8_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "AuthenticationManager.exe" GOTO SKIP_9_LBL
SET NM_VR_=App Updater ( Microsoft Store - AuthenticationManager )
DIR /B /S "AuthenticationManager.exe"> "%~dp0rfrshfrwll_9.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_9.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_9_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x86__*"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__*"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\Microsoft.DesktopAppInstaller_*_Arm64__*"
IF NOT EXIST "WindowsPackageManagerServer.exe" GOTO SKIP_10_LBL
SET NM_VR_=App Updater ( Microsoft Store - WinGetServer )
DIR /B /S "WindowsPackageManagerServer.exe"> "%~dp0rfrshfrwll_10.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_10.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_10_LBL

IF %Processor_Architecture%==x86 CD /D "C:\PROGRA~1\WindowsApps\MicrosoftWindows.Client.WebExperience_*_x86__*\Dashboard"
IF %Processor_Architecture%==AMD64 CD /D "C:\PROGRA~1\WindowsApps\MicrosoftWindows.Client.WebExperience_*_x64__*\Dashboard"
IF %Processor_Architecture%==ARM64 CD /D "C:\PROGRA~1\WindowsApps\MicrosoftWindows.Client.WebExperience_*_Arm64__*\Dashboard"
IF NOT EXIST "Widgets.exe" GOTO SKIP_11_LBL
SET NM_VR_=App Updater ( Widgets 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_17.txt' -value (Get-AppxPackage -AllUsers MicrosoftWindows.Client.WebExperience | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_17.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Widgets 2 )
DIR /B /S "Widgets.exe"> "%~dp0rfrshfrwll_11.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_11.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_11_LBL

CD /D "C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_*"
IF NOT EXIST "SearchHost.exe" GOTO SKIP_12_LBL
SET NM_VR_=App Updater ( Search Host - Cortana 1 )
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path '%~dp0rfrshfrwll_18.txt' -value (Get-AppxPackage -AllUsers MicrosoftWindows.Client.CBS | Format-Table PackageFamilyName -Wrap -AutoSize | Out-String -Stream | Select-String -Pattern 'PackageFamilyName', '-----------------' -NotMatch)}"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_18.txt") DO (CALL :RFRSH_FRWLL_2_ "%%A")
SET NM_VR_=App Updater ( Search Host - Cortana 2 )
DIR /B /S "SearchHost.exe"> "%~dp0rfrshfrwll_12.txt"
FOR /F "usebackq tokens=* delims=" %%A IN ("%~dp0rfrshfrwll_12.txt") DO (CALL :RFRSH_FRWLL_1_ "%%A")
:SKIP_12_LBL

ECHO ENDLOCAL>> "%~dp0RFRSH_FireWall_.bat"
ECHO DEL /Q "%%~dp0RFRSH_FireWall_.bat" 2^> nul>> "%~dp0RFRSH_FireWall_.bat"

GOTO LST_LNE_

:RFRSH_FRWLL_1_
ECHO CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName '%NM_VR_%' -Profile Any -Program '%~s1' -Protocol Any}">> "%~dp0RFRSH_FireWall_.bat"
GOTO :EOF

:RFRSH_FRWLL_2_
ECHO CMD /Q /C START /MIN PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {New-NetFirewallRule -Action Allow -Direction Outbound -DisplayName '%NM_VR_%' -Profile Any -Package '%~1' -Protocol Any}">> "%~dp0RFRSH_FireWall_.bat"
GOTO :EOF

:LST_LNE_

DEL /Q "%~dp0rfrshfrwll_*.txt" 2> nul
CALL "%~dp0RFRSH_FireWall_.bat"

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Install-PackageProvider -Name PowerShellGet -Scope AllUsers -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Install-PackageProvider -Name NuGet -Scope AllUsers -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Install-PackageProvider -Name WinGet -Scope AllUsers -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Register-PackageSource -Name 'Nuget Gallery' -Location https://api.nuget.org/v3/index.json -Trusted -Force -ProviderName NuGet}"
DISM /Online /Enable-Feature /NoRestart /FeatureName:LegacyComponents
DISM /Online /Enable-Feature /NoRestart /FeatureName:DirectPlay
DISM /Online /Enable-Feature /NoRestart /FeatureName:NetFx3
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Install-Package Microsoft.XAudio2.Redist -Scope AllUsers -Force}"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Install-Package Microsoft.Direct3D.D3D12 -Scope AllUsers -Force}"

REM "WinGet Settings" ( https://aka.ms/winget-settings )
ECHO {"$id": "https://aka.ms/winget-settings.schema.json",> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "$schema": "https://json-schema.org/draft/2019-09/schema#",>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "title": "Microsoft's Windows Package Manager Settings Profile Schema",>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "definitions":{"source": {"autoUpdateIntervalInMinutes":3},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "visual": {"progressBar":"rainbow"},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "installBehavior":{"disableInstallNotes":true},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "installBehavior":{"preferences":{"scope":"machine"}},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "installBehavior":{"preferences":{"locale":["en-US"]}},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
IF %Processor_Architecture%==ARM64 ECHO "installBehavior":{"preferences":{"architectures":["Arm64"]}},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
IF %Processor_Architecture%==AMD64 ECHO "installBehavior":{"preferences":{"architectures":["x64"]}},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
IF %Processor_Architecture%==x86 ECHO "installBehavior":{"preferences":{"architectures":["x86"]}},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "telemetry":{"disable":true},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "logging":{"level":["critical"]},>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
ECHO "experimentalFeatures":{"directMSI":true},}}>> %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

winget install 9NBLGGH4NNS1 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2005.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2005.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2008.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2008.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2010.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2010.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2012.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2012.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2013.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2013.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2015+.x86 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.VCRedist.2015+.x64 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.DotNet.Runtime.3_1 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.DotNet.Runtime.5 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.DotNet.Runtime.6 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.DotNet.Runtime.7 --silent --accept-package-agreements --accept-source-agreements
winget install Microsoft.DotNet.Runtime.8 --silent --accept-package-agreements --accept-source-agreements

ECHO Creating Offline Installers on the Desktop... ( Press CTRL+C to END ) && PAUSE

IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Vulkan_SDK" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Vulkan_SDK"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\VB6_Common_Controls" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\VB6_Common_Controls"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\DirectX_End_User_Runtimes" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\DirectX_End_User_Runtimes"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)"

IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022"

IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Vulkan_SDK" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Vulkan_SDK"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\VB6_Common_Controls" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\VB6_Common_Controls"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\DirectX_End_User_Runtimes" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\DirectX_End_User_Runtimes"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)"

IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019"
IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022"

IF NOT EXIST "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022" MKDIR "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022"

curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/15/release/vc_redist.x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/15/release/vc_redist.x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/15/release/vc_redist.arm64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.arm64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2017\vc_redist.arm64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.arm64.exe"

curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/16/release/vc_redist.x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/16/release/vc_redist.x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/16/release/vc_redist.arm64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.arm64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2019\vc_redist.arm64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.arm64.exe"

curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/17/release/vc_redist.x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/17/release/vc_redist.x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/vs/17/release/vc_redist.arm64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.arm64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2015_2017_2019_2022\vc_redist.arm64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.arm64.exe"

curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/highdpimfc2013x86enu" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)\vcredist_x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)\vcredist_x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)\vcredist_x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://aka.ms/highdpimfc2013x64enu" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)\vcredist_x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2013_(VC++_12.0)\vcredist_x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)\vcredist_x64.exe"

curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x86.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x64.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_IA64.EXE" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_IA64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_IA64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_IA64.EXE" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x64.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x64.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x64.EXE" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x86.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x86.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x86.EXE"
curl --parallel-immediate --parallel-max 100 --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\DirectX_End_User_Runtimes\directx_Jun2010_redist.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\DirectX_End_User_Runtimes\directx_Jun2010_redist.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\DirectX_End_User_Runtimes\directx_Jun2010_redist.exe" --next ^
--parallel-immediate --progress-bar --ssl-no-revoke --tlsv1.2 -LZRA "" "https://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb01-af67dc2f96fc/VisualBasic6-KB896559-v1-ENU.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\VB6_Common_Controls\VisualBasic6-KB896559-v1-ENU.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\VB6_Common_Controls\VisualBasic6-KB896559-v1-ENU.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\VB6_Common_Controls\VisualBasic6-KB896559-v1-ENU.exe"
curl --progress-bar --ssl-no-revoke --tlsv1.3 -LZRA "" "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-sdk.exe" --etag-compare "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Vulkan_SDK\VulkanSDK_Installer.txt" --etag-save "%UserProfile%\Desktop\VC++_NET_Runtimes\ETag_Cache\Vulkan_SDK\VulkanSDK_Installer.txt" -o "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Vulkan_SDK\VulkanSDK_Installer.exe"

ECHO Installing DirectX 9 Redistributable / Vulkan Runtime... ( Press CTRL+C to END ) && PAUSE

IF NOT EXIST "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1" MKDIR "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\DirectX_End_User_Runtimes\directx_Jun2010_redist.exe" /Q /T:"%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
"%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1\DXSETUP.exe" /silent
RMDIR /S /Q "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
((REG QUERY HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers| FINDSTR /LC:"VulkanSDK") >nul 2>&1)
IF %ErrorLevel% EQU 1 ("%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Vulkan_SDK\VulkanSDK_Installer.exe" --accept-licenses --default-answer --confirm-command install)

REM Microsoft Visual C++ Redistributable latest supported downloads ->
REM Notes: Windows XP Support: ->
REM https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?#notes
REM Reset / Repair Apps:
REM Settings -> System -> Other troubleshooters -> Windows Store Apps (Run)
REM Settings -> System -> Other troubleshooters -> Windows Update (Run)
ENDLOCAL
MOVE NUL 2>&0
(2B.) Use Notepad to create this file on your desktop or another folder: Install_VC_DirectX_Vulkan_Offline.bat
@ECHO OFF
SETLOCAL
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_8_2005_IA64" MKDIR "%Temp%\VC++_NET_Runtimes\VC_8_2005_IA64"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VB_6_Controls" MKDIR "%Temp%\VC++_NET_Runtimes\VB_6_Controls"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_8_2005_64" MKDIR "%Temp%\VC++_NET_Runtimes\VC_8_2005_64"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_8_2005_86" MKDIR "%Temp%\VC++_NET_Runtimes\VC_8_2005_86"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_9_2008_64" MKDIR "%Temp%\VC++_NET_Runtimes\VC_9_2008_64"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_9_2008_86" MKDIR "%Temp%\VC++_NET_Runtimes\VC_9_2008_86"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_10_2010_64" MKDIR "%Temp%\VC++_NET_Runtimes\VC_10_2010_64"
IF NOT EXIST "%Temp%\VC++_NET_Runtimes\VC_10_2010_86" MKDIR "%Temp%\VC++_NET_Runtimes\VC_10_2010_86"
IF %Processor_Architecture%==IA64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_IA64.EXE" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_8_2005_IA64"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\VB6_Common_Controls\VisualBasic6-KB896559-v1-ENU.exe" /Q /T:"%Temp%\VC++_NET_Runtimes\VB_6_Controls"
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x64.EXE" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_8_2005_64"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2005_(VC++_8.0)_SP1\vcredist_x86.EXE" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_8_2005_86"
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x64.exe" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_9_2008_64"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2008_(VC++_9.0)_SP1\vcredist_x86.exe" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_9_2008_86"
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x64.exe" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_10_2010_64"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2010_(VC++_10.0)_SP1\vcredist_x86.exe" /Q /T:"%Temp%\VC++_NET_Runtimes\VC_10_2010_86"
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x64.exe" /install /quiet /norestart
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2012_(VC++_11.0)_Update_4\vcredist_x86.exe" /install /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)\vcredist_x64.exe" /install /quiet /norestart
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2013_(VC++_12.0)\vcredist_x86.exe" /install /quiet /norestart

IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.arm64.exe" /uninstall /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x64.exe" /uninstall /quiet /norestart
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x86.exe" /uninstall /quiet /norestart

IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.arm64.exe" /uninstall /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x64.exe" /uninstall /quiet /norestart
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x86.exe" /uninstall /quiet /norestart

IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.arm64.exe" /uninstall /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x64.exe" /uninstall /quiet /norestart
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x86.exe" /uninstall /quiet /norestart

"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x86.exe" /install /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.x64.exe" /install /quiet /norestart
IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2017\vc_redist.arm64.exe" /install /quiet /norestart

"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x86.exe" /install /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.x64.exe" /install /quiet /norestart
IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2019\vc_redist.arm64.exe" /install /quiet /norestart

"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x86.exe" /install /quiet /norestart
IF %Processor_Architecture%==AMD64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.x64.exe" /install /quiet /norestart
IF %Processor_Architecture%==ARM64 "%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Visual_Studio_2015_2017_2019_2022\vc_redist.arm64.exe" /install /quiet /norestart

RMDIR /S /Q "%Temp%\VC++_NET_Runtimes"
IF NOT EXIST "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1" MKDIR "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
"%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\DirectX_End_User_Runtimes\directx_Jun2010_redist.exe" /Q /T:"%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
"%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1\DXSETUP.exe" /silent
RMDIR /S /Q "%Temp%\WinGet\Microsoft.DirectX.9.29.1974.1"
((REG QUERY HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers| FINDSTR /LC:"VulkanSDK") >nul 2>&1)
IF %ErrorLevel% EQU 1 ("%UserProfile%\Desktop\VC++_NET_Runtimes\Downloads\Vulkan_SDK\VulkanSDK_Installer.exe" --accept-licenses --default-answer --confirm-command install)
ENDLOCAL
MOVE NUL 2>&0

EDIT: I recently updated this because Microsoft moved the VC++ installers to another server that only supports TLS 1.2 ( I have tested this on D2 LoD, and even the newer “reforged” versions of classic games.) The issue is that Blizzard doesn’t include up-to-date runtimes from official Microsoft servers, neither do they slipstream them with the installer like they used to, even though Microsoft has a guide showing game developers how to do this. I’m sure it’s a problem with a lot of older games, regardless of the distributor.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.