Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
917 views
in Technique[技术] by (71.8m points)

windows 7 - Setting environment variables requires reboot on 64-bit

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...