Necesitaba agregar una nueva entrada a mi variable PATH. Esta es una actividad común para mí en mi trabajo, pero recientemente comencé a usar Windows 8. Asumí que el proceso sería similar a Windows 7, Vista, XP ...
Aquí está mi secuencia de eventos:
- Abra las propiedades del sistema (Inicio-> [escriba "Panel de control"] -> Panel de control \ Sistema y seguridad \ Sistema -> Configuración avanzada del sistema -> Variables de entorno)
- Agregar la nueva ruta al comienzo de mi variable USER PATH (C: \ dev \ Java \ apache-ant-1.8.4 \ bin;)
- Abrió un símbolo del sistema (Inicio -> [escriba "símbolo del sistema" enter] -> [escriba "ruta" enter]
Mi nueva entrada de ruta no está disponible (ver imagen adjunta y video). Dupliqué exactamente el mismo proceso en una máquina con Windows 7 y funcionó.
EDITAR
Video de variables de entorno de Windows 8 y símbolo del sistema
EDITAR
Este definitivamente no es el comportamiento de Windows 7. Mire este video para ver el comportamiento que espero que funcione en Windows 7. http://youtu.be/95JXY5X0fII
EDITAR 31/05/2013
Entonces, después de mucha frustración, escribí una pequeña aplicación C # para probar el WM_SETTINGCHANGE
evento. Este código recibe el evento tanto en Windows 7 como en Windows 8. Sin embargo, en Windows 8 en mi sistema, no obtengo la ruta correcta; pero lo hago en Windows 7. Esto no se pudo reproducir en otros sistemas Windows 8.
Aquí está el código C #.
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
es equivalente a WM_SETTINGCHANGE
Programa C # que se ejecuta en Windows 7 (puede ver cómo se produce el evento y selecciona la ruta correcta).
Programa C # que se ejecuta en Windows 8 (puede ver el evento, pero la ruta incorrecta).
Hay algo en mi entorno que está precipitando este problema. Sin embargo, ¿ es esto un error de Windows 8?
EDITAR 28/04/2014
Debido a este y otros problemas, ya no usamos Windows 8 en el escritorio. No tenemos un entorno para continuar probando y experimentando con este problema. Todavía no hay respuesta o resolución para este problema para nosotros. Las respuestas a continuación no resolvieron nuestro problema.
cmd
cuando se lanzaba una nueva instancia. Por supuesto, el que ya se está ejecutando cmd
no obtuvo el entorno actualizado.