windows 如何使用C# .NET触发环境重载?

d7v8vwbk  于 2023-01-10  发布在  Windows
关注(0)|答案(2)|浏览(134)

我正在尝试为我的应用程序编写一个自定义安装程序。我正在使用C#制作这个安装程序。其中一个功能是将我的应用程序的目录添加到PATH中。
但是,当我这样做时,我必须重新启动我的计算机才能访问更新的PATH变量。当使用安装脚本工具(如Inno setup)时,我可以将其设置为以某种方式重新加载环境以立即访问更新的PATH,而无需重新启动。我如何使用C#复制此行为?
很抱歉,如果这是一个重复的问题,但我无法找到任何关于这一点。

bqucvtff

bqucvtff1#

原来我是想修改注册表,你可以用System.Environment直接访问

var name = "PATH";
var scope = EnvironmentVariableTarget.User; // or User
var oldValue = Environment.GetEnvironmentVariable(name, scope);
var newValue = oldValue + @";C:\Path\To\Add";
fcy6dtqo

fcy6dtqo2#

在Windows中更改PATH变量不需要重新启动。一个简单的解决方案是将包含可执行文件及其使用的任何文件夹的目录添加到PATH变量中。例如:
系统.环境.GetFolderPath(系统.环境.特殊文件夹.程序文件X86).ToString()+“”其他用于“+系统.环境.操作系统版本.名称上的程序文件(x86

相关问题