From 591d0b58ad6264911aaa0811537507213f595f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9v=20O=27Conner?= <88772846+revoconner@users.noreply.github.com> Date: Thu, 18 Dec 2025 07:19:39 +0530 Subject: [PATCH] (#3829) Enhance RefreshEnv.cmd to capture volatile variables Add handling for additional volatile environment variables (APPDATA, LOCALAPPDATA, USERPROFILE, HOMEDRIVE, HOMEPATH) that should not be overwritten when refreshing from registry. Without this change, these user-specific paths get incorrectly reset to system defaults when running RefreshEnv.cmd. --- src/chocolatey.resources/redirects/RefreshEnv.cmd | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/chocolatey.resources/redirects/RefreshEnv.cmd b/src/chocolatey.resources/redirects/RefreshEnv.cmd index 2b9b7530de..ea5e3ed390 100644 --- a/src/chocolatey.resources/redirects/RefreshEnv.cmd +++ b/src/chocolatey.resources/redirects/RefreshEnv.cmd @@ -130,9 +130,14 @@ REM Get a list of environment variables from registry del /f /q "%TEMP%\_envset.tmp" 2>nul del /f /q "%TEMP%\_envget.tmp" 2>nul - REM capture user / architecture + REM capture user / architecture / volatile variables SET "OriginalUserName=%USERNAME%" SET "OriginalArchitecture=%PROCESSOR_ARCHITECTURE%" + SET "OriginalAppData=%APPDATA%" + SET "OriginalLocalAppData=%LOCALAPPDATA%" + SET "OriginalUserProfile=%USERPROFILE%" + SET "OriginalHomeDrive=%HOMEDRIVE%" + SET "OriginalHomePath=%HOMEPATH%" REM Set these variables call "%TEMP%\_env.cmd" @@ -140,9 +145,14 @@ REM Get a list of environment variables from registry REM Cleanup del /f /q "%TEMP%\_env.cmd" 2>nul - REM reset user / architecture + REM reset user / architecture / volatile variables SET "USERNAME=%OriginalUserName%" SET "PROCESSOR_ARCHITECTURE=%OriginalArchitecture%" + SET "APPDATA=%OriginalAppData%" + SET "LOCALAPPDATA=%OriginalLocalAppData%" + SET "USERPROFILE=%OriginalUserProfile%" + SET "HOMEDRIVE=%OriginalHomeDrive%" + SET "HOMEPATH=%OriginalHomePath%" echo | set /p dummy="Finished." echo .