【问题标题】:How can I make a c# command line application runnable in cmd.exe with installer?如何使用安装程序使 C# 命令行应用程序在 cmd.exe 中可运行?
【发布时间】:2015-05-12 06:18:25
【问题描述】:

我在 Visual Studio 中编写了一个 C# 命令行应用程序。安装后,我希望能够从 cmd.exe 提示应用程序中将其作为命令运行。为此,我需要以这样的方式安装应用程序,这将工作

C:\Users\user3765372\Documents\>myAppName argument

在 node.js 中具有此功能的应用程序的一个很好的示例,例如:

C:\Users\user3765372\Documents\>nodejs server.js

将导致节点运行 server.js 文件。我怎样才能让我的程序像这样运行它的命令?

请注意,我的应用不在 Documents 中...它在其他地方。

我正在使用this plugin 创建安装程序

更新:

这应该可行....我想我可能犯了一个错误:

【问题讨论】:

  • 你是什么意思“与安装程序”?任何简单的控制台应用程序都可以从命令行运行并传递参数。您可以通过 string[] args 在您的 Main() 方法中访问这些。
  • @Tom 我不想导航到该位置?
  • 您将包含您的应用程序的文件夹添加到 PATH 环境变量中。
  • @mikez 对于尝试使用我的程序的非技术用户,我将如何使用安装程序/在程序中执行此操作?
  • @user3765372 在 wix 中:stackoverflow.com/a/1931644/517852

标签: c# windows visual-studio cmd installation


【解决方案1】:
string yourAppPath = //whateverdirectoryyouwant;
string path = string.Format("{0};{1}", Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine),yourAppPath);
Environment.SetEnvironmentVariable("Path", path, EnvironmentVariableTarget.Machine);

部分用户反映使用 SetEnvironmentalVariable 未生效。你可以这样做:

Process.Start("setx", string.Format("/M Path {0}",path));

【讨论】:

    【解决方案2】:

    如果要创建安装(msi 文件),建议使用 Wix 安装程序创建安装,并使用环境标签。更多详情here.

    或者,您可以使用 Visual Studio 安装程序项目,但它需要自定义操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 2017-10-30
      相关资源
      最近更新 更多