<p>In the Windows registry, how does <code>CurrentControlSet</code> differ from
<code>ControlSet001</code> and <code>ControlSet002</code>? Which should be set when installing for all
users?</p>
<p>We are trying to add an environment variable for all users. Is this correct?</p>
<pre><code>HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Envinronment
</code></pre>

Yes, you only need to update the
```
CurrentControlSet
```
key...
```
ControlSet001
```
and
```
ControlSet002
```
are alternating backups of
```
CurrentControlSet
```
, you don't need to update them.
Edit: As K noted,
```
CurrentControlSet
```
is an alternating symbolic link to either
```
ControlSet001
```
or
```
ControlSet002
```
. The other key is kept as a backup for the
Load Last Known Good Configuration boot option.
Edit 2: See Microsoft KB Article 100010: What are Control Sets? What is CurrentControlSet?
Original page link broken
, see
archive.org backup page
instead.