Why won't my Windows 8 Command line update its path
Posted
by
mawcsco
on Super User
See other posts from Super User
or by mawcsco
Published on 2013-05-10T14:44:58Z
Indexed on
2013/11/03
3:59 UTC
Read the original article
Hit count: 252
I needed to add a new entry to my PATH variable. This is a common activity for me in my job, but I've recently started using Windows 8. I assumed the process would be similar to Windows 7, Vista, XP...
Here's my sequence of events:
- Open System properties (Start-> [type "Control Panel"] -> Control Panel\System and Security\System -> Advanced system settings -> Environment Variables)
- Add the new path to beginning of my USER PATH variable (C:\dev\Java\apache-ant-1.8.4\bin;)
- Opened a command prompt (Start -> [type "command prompt" enter] -> [type "path" enter]
My new path entry is not available (see attached image and vide). I Duplicated the exact same process on a Windows 7 machine and it worked.
EDIT
Windows 8 Environment Variables and Command Prompt video
EDIT
This is definitely not the behavior of Windows 7. Watch this video to see the behavior I expect working in Windows 7. http://youtu.be/95JXY5X0fII
EDIT 5/31/2013
So, after much frustration, I wrote a small C# app to test the WM_SETTINGCHANGE
event. This code receives the event in both Windows 7 and Windows 8. However, in Windows 8 on my system, I do not get the correct path; but, I do in Windows 7. This could not be reproduced in other Windows 8 systems.
Here is the C# code.
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
is equivalent to WM_SETTINGCHANGE
C# program running in Windows 7 (you can see the event come through and it picks up the correct path).
C# program running in Windows 8 (you can see the event come through, but the wrong path).
There is something about my environment that is precipitating this problem. However, is this a Windows 8 bug?
© Super User or respective owner