Como Rowland sugere, ao iniciar um novo processo, ele lerá as variáveis de ambiente do processo que está iniciando. Portanto, ao iniciar um prompt de comando a partir do Menu Iniciar ou do Desktop , ele lê as variáveis de ambiente de explorer.exe
que, como sugere o grawity, detecta alterações nas configurações do ambiente no registro e, assim, vejo meu novo PATH em prompts de comando iniciado a partir da área de trabalho ou do menu Iniciar.
A razão pela qual eu não vejo as atualizações no meu PATH no screencast que eu postei é porque eu tinha inicialmente lançado uma janela do Explorer usando FARR tornando FindAndRunRobot.exe
o processo pai. O FARR não detecta automaticamente mudanças de ambiente e, portanto, os processos-filhos gerados a partir dele não selecionam o novo PATH. Eu também tive ' Ativar janelas de pastas em um processo separado ' conjunto de opções no Explorer, o que significa que todas as janelas explorer.exe que abri subseqüentes ao inicial aberto pelo FARR, onde também os filhos de FARR .
Ao desativar a opção ' Ativar janelas de pastas em um processo separado ', novos explorer.exe
processos não são criados sob o FARR, o que resolve o meu problema. No entanto, eu também inicio as janelas do console e outras coisas diretamente do FARR; estes também obtêm as configurações antigas do ambiente. Se eu reiniciar o FARR, as novas configurações de ambiente serão propagadas.
Aqui está uma captura de tela do Process Explorer mostrando os processos gerados pelo FARR. Nenhum desses processos recebe as novas configurações de ambiente do nível superior explorer.exe
, a menos que eu reinicie o FARR: