У меня есть пакет, который добавляет и удаляет запись (скажем, C:\my_entry) в переменную среды PATH во время установки и удаления соответственно. Я вижу, что запись добавляется / удаляется в / из переменной PATH, проверяя ключ реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path.
Но я наблюдал разные значения переменной среды PATH из командной строки.
После установки
Если я открою командную строку как Win+R, наберу cmd и затем введу, я смогу увидеть C:\my_entry в переменной PATH.
Если я открою командную строку (cmd.exe) из каталога C:\Windows\System32, я не смогу найти C:\my_entry в переменной PATH.
После деинсталляции
Если я открою командную строку как Win+R, введите cmd и затем введу, я все еще смогу увидеть C:\my_entry в переменной PATH, хотя она была удалена из реестра.
Пожалуйста, дайте мне знать, почему значение переменной окружения PATH отличается, если мы открываем командную строку из разных мест? И почему значение переменной среды PATH в командной строке отличается от значения в реестре?