部署 C# 控制台应用程序 - 如何通过 "Publish Now" 设置更新 ENV PATH?

Deploying C# Console App - How do I update ENV PATH via the "Publish Now" settings?

事情是这样的。我在 .NET (C#) 中构建了一个控制台应用程序。它运作良好,一切都很好。它是供我们网络上的人员使用的内部工具,但可以在世界任何地方(大公司)使用。我想我可以使用 MS VisualStudio 2013 附带的简单安装/部署向导来生成一个不错的小安装程序。我设置好了,效果很好。

但是,一旦应用程序安装在目标机器上,我希望它可以从命令行的任何地方使用。我需要更新 PATH 变量或将应用程序安装在 PATH 位置。后者似乎很危险(将某些东西放入 SYSTEM 等),所以我想知道:

如何让简单的 Microsoft 部署向导在安装应用程序时更新目标计算机上的适当路径?我不想写一些安装程序。我希望有一些基本的部署选项可以让我轻松地做一些像这样的自定义事情...

我错过了什么?帮助?谢谢...

只是为了跟进,回答我的问题 --- 我必须创建一个自定义安装步骤来更新 PATH 环境变量,以使计算机从任何 CMD window 看到我的新控制台应用程序。这意味着要执行 2 个步骤: 读取当前Path(不展开每个字符串中的变量)如下:

        string RegKeyName = @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment";
        string pathvariable = (string)Microsoft.Win32.Registry.LocalMachine.OpenSubKey(RegKeyName).GetValue
            ("Path", "", Microsoft.Win32.RegistryValueOptions.DoNotExpandEnvironmentNames);

然后我用分号分割路径变量并将其加载到一个 allpaths 数组变量中(忽略空条目)。然后,我在 foreach 循环中遍历所有路径并重建主路径,并设置一个布尔值来告诉我我要添加的目录是否已经在路径中。然后,完成后,我执行了以下操作:

        if (NeedtoUpdate)
        {
            Environment.SetEnvironmentVariable("Path", MasterPath + MyNewPathEntry + ";", EnvironmentVariableTarget.Machine);
        }

这就是我的自定义安装步骤。