Blog, projects and et cetera..

The Windows Environment Variable Dialog

Reading time: about 4 minutes

The Windows environmental variables dialog (WEVD). We’ve all been there? I’ve been there. I’ve spent far more of my computing life and career there than I care to imagine there. I don’t know what your particular method is, perhaps you’re a type in place kind of person, maybe even a copy out to an external editor and paste back? I’ve been the later for a long time, because lets face it, the dialog sucks.

Why go there at all?

Ideally you’d never need to go there. The software you use and install would take care of all the details itself, but that is an ideal world, one we don’t live in. For me, it was Java. In the pre-Orcale days of Java whenever you installed the JDK on a new machine you’d end up in the WEVD. It was always a pain in the butt, but you’d look past it because you’d be in and out in moments (once you know what you needed to do). As a matter of fact, I’d like to take a moment to thank Orcale for creating the Java Control Panel and making sure to update the environment variables for when you are install the JDK on your machine.

Obviously there is more of an issue that would pertain to doing Java development without an IDE such as Eclipse or Netbeans. In college we weren’t encourage to use IDEs, so I didn’t. So I had to deal with these issues alot.


The main characteristics/flaws of the WEVD are:

  • You can not resize the dialog.
  • The semicolon delimited variable contents are treated as long strings of text.
  • There is “undo” in the context of the input field, but no undo to speak of.
  • Which only works at one level of edits.
  • Since the dialog invokes other mini dialogs for editing purposes you can also “cancel” for a mass undo.
  • The dialog does not provide a way to make a backup before preceeding. (I know that you could theortically use the registry backup facility)
  • Variables are dialogs on dialogs (the WEVD itself) on dialogs (the system properties dialog) (Windows 7 at least)


I have been doing a bit of research on the environmental dialog because I have become somewhat obsessed with this little corner of the Windows world. From what I can tell the dialog itself goes back to Windows NT, possibly closer to the late end of the 90’s. It wasn’t until NT was folded into the consumer version of Windows that it showed up in the every day users world (not that anyone really knew what they were doing with it back then, well me at least).

Windows 95

Right before that, Windows had the autoexec.bat file. This file and usage of it was much closer to the Unix philospy than what it would become. You had a plain text file you could edit and get your particular program or scripts/whatever to show up in your system path. You could edit this file with whatever you wanted e.g. notepad.

I presume the reason for the dialog was Windows shift to the registry model for storing OS and application level information on Windows. As such the dialog is an interface to the registry database. And what a woeful interface they ended up making. But it did the job. And it continues to do the same job… probably something like 17 years later. The WEVD has not changed in any significant way in roughly 17 years. 17 years.

Win2000 through Win10

Below I present to you every version of the WEVD in the last 15 years:

Windows 2000

Windows XP

Windows Vista

Windows 7

Windows 8

Windows 10 Technical Preview

They know not what they do

All of this is a bit unfair of me I suppose. A basic principal of Microsoft has always been, “good enough”. In truth the WEVD is “good enough”. And there are plenty of alteratives that can do the job much better job. I’ve been using a tool called RapidEE for quite a while now and it’s everything you’d hope for in an environment variable editor. I guess it’s just frustrating when you see it and makes you wonder how it’s possible from a software development point of view for a part of a software system to remain developmentally dorment for so long?