34
7
What is difference between %Windir% and %Systemroot% in Windows Path Location?
Both of them show "Windows" folder location.
34
7
What is difference between %Windir% and %Systemroot% in Windows Path Location?
Both of them show "Windows" folder location.
35
To expand upon Mr. Dave’s answer, %SystemRoot%
is a built-in variable (along with a small handful of others like %SystemDrive%
). That is, it is not actually defined in the environment variable store at HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
in the registry.
On the other hand, %windir%
is a regular variable and is defined in the variable store as %SystemRoot%
. (There is no “real variable” counterpart to %SystemDrive%
.)
Which to use doesn’t really matter, but you may run into problems with variable expansion in batch-files, in which case you could try the other one. (I don’t recall having problems with this specifically, but it’s worth keeping in mind.)
In addition, %SystemRoot%
(and %SystemDrive%
) are set during the installation process (when you choose the destination drive) and is thus available from the earliest point when Windows is being installed whereas %windir%
is set at a later point during the install, so if you are creating some sort of custom installation (e.g., OEM, PE, etc.), you will want to use %SystemRoot%
.
29
On Win 7 %SystemRoot%
is a read-only system variable while %windir%
can be changed and is set by default as windir=%SystemRoot%
. The OS relies on %SystemRoot%
. According to Wikipedia, %WinDir%
pre-dates Windows NT and seems to be superseded by %SystemRoot%
.
1
fun fact - (on Windows 10 1809) %windir% is still so essential that you can't run anything elevated without it... which means YOU CAN'T ACTUALLY PUT IT BACK because hitting the environment variable registry apparently requires elevation :( ... fortunately safe mode did allow me to restore that variable and keep on truckin'
in which case you could try the other one. I assume the other one is
%windir%
. Is that correct? – René Nyffenegger – 2019-09-13T11:52:52.997So, %windir% built AFTER installation? – Amirreza Nasiri – 2013-08-29T17:18:14.117
2No, during installation, but after
%SystemRoot%
. Windows has enough information to setSystemDrive
andSystemRoot
as soon as you choose the drive where to install it (plus it uses a default if you don’t modify the destination). It sets several default environment variables (includingwindir
) later in the installation when it initializes the registry. This only matters if you are modifying the installation process. – Synetech – 2013-08-29T17:25:29.923