I am working on an installer using Wix 3.5 that needs to set the system PATH environment variable.
This is how I am setting the environment variable:
<Directory Id="DirectoryName">
<Component Id="ComponentID" Guid="{BE20AF67-5943-4AF4-BE66-226E2D4B844F}">
<Environment Id="EnvironmentID" Name="PATH" Action="set" Value="the path" Part="last" Separator=";" System="yes" />
</Component>
</Directory>
This seems to be working on 32-bit systems without requiring a reboot for the changes to be recognized. However, when I try it on 64-bit Windows 7 a reboot is required.
Is this a known issue on 64-bit systems?
Maybe the best approach would be to schedule a reboot to cover all bases.
Thanks, Alan
Check this question on ServerFault: How do you add a Windows environment variable without rebooting?
So to propagate the change to the list of environment variables, you can write a small program which broadcasts WM_SETTINGCHANGE
message as described in KB article How to propagate environment variables to the system.