windows 7 - restaurar - La configuración de variables de entorno requiere reiniciar en 64 bits
variables de entorno linux (2)
Estoy trabajando en un instalador que usa Wix 3.5 que necesita configurar la variable de entorno PATH del sistema.
Así es como estoy configurando la variable de entorno:
<Directory Id="DirectoryName">
<Component Id="ComponentID" Guid="{BE20AF67-5943-4AF4-BE66-226E2D4B844F}">
<Environment Id="EnvironmentID" Name="PATH" Action="set" Value="the path" Part="last" Separator=";" System="yes" />
</Component>
</Directory>
Esto parece estar funcionando en sistemas de 32 bits sin requerir un reinicio para que los cambios sean reconocidos. Sin embargo, cuando lo intento en Windows 7 de 64 bits se requiere un reinicio.
¿Es este un problema conocido en sistemas de 64 bits?
Tal vez el mejor enfoque sería programar un reinicio para cubrir todas las bases.
Gracias alan
Cuando agrega o establece una variable de entorno, se WM_SETTINGCHANGE
un mensaje WM_SETTINGCHANGE
a todos los programas para informarles del cambio. Sin embargo, cualquier programa que ya esté en ejecución no obtendrá el entorno actualizado, a menos que pueda manejar este mensaje por sí mismo. Al reiniciar el sistema se actualizan todos los programas.
Una solución sin reiniciar:
- Elimine y reinicie explorer.exe , aunque esto no funciona para todos los procesos en ejecución, y solo para el usuario que ha iniciado sesión actualmente.
- Reinicie el proceso o programa que desea utilizar, es decir. prueba esto con cmd.exe. De nuevo, esto solo funciona para el usuario conectado.
Entonces, para resumir, para que esto funcione para todos los usuarios, todavía necesita reiniciar.
Verifique esta pregunta en ServerFault: ¿Cómo agregar una variable de entorno de Windows sin reiniciar?
Para propagar el cambio a la lista de variables de entorno, puede escribir un pequeño programa que WM_SETTINGCHANGE
mensaje WM_SETTINGCHANGE
como se describe en el artículo de KB Cómo propagar las variables de entorno al sistema .