For All Currents Users  there are to hive :

This hive is just a copy of  HKEY_USERS\.DEFAULT\Environment. Give the location of the TEMP directory for the current user.

For the Current user session  

HKEY_CURRENT_USER\Volatile Environment
This one is very usefull, for Custum Action. Because the CA run with the system user. Here a short list of the environments variables (not all of them) : 


For the system :

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment
With this hive, there all the environements variables display when we type "set" command in DOS. This is the list of the main variables : 
%Path%, %ComSpec%, %windir%, %PROCESSOR_ARCHITECTURE%

VBScript Sample 

Set WshShellObj = WScript.CreateObject("WScript.Shell") 
'context : Process, System, Volatile
context = "User" 
Set WshProcessEnv = WshShellObj.Environment(context)  
WScript.Echo WshProcessEnv("USERNAME")

Custom Action (Set Property)

With User Interface

With the table

Do you have other tips or tricks about Variable Environment ?