【问题标题】:get some parameter from user while installing a c# application在安装 c# 应用程序时从用户那里获取一些参数
【发布时间】:2011-05-07 19:19:42
【问题描述】:

我有一个 C# win 表单应用程序,我通过 Visual Studio 2010 为它构建了一个“设置”

我的应用程序需要一些参数,例如用户名、密码、ip 和 ...

我想在设置完成之前从用户那里获取这些值并将其保存到一个文件中以供我的应用程序使用。但是怎么做?

【问题讨论】:

  • 应用程序本身不这样做是否有原因?这样,如果配置文件被删除(当然是意外),那么您的应用程序将在下次运行应用程序时再次提示用户。
  • 顺便说一句,没有“C#.NET”之类的东西。该语言被命名为“C#”。

标签: c# .net installation option


【解决方案1】:

此答案假定您正在使用 Visual Studio 中的安装项目。如果您没有编辑您的问题,我们可以再看看。

要收集用户输入,您需要向安装程序引入一个新对话框。

以下步骤将带您进入安装程序项目中允许您添加新对话框的部分:

  • 在解决方案资源管理器菜单中选择“用户界面编辑器”选项
  • 在新打开的屏幕中右键单击选项(例如安装)并选择“添加对话框”
  • 这会显示一系列预构建的用户对话框。您可能需要其中一个文本框对话框。

如果您想要不同的东西,您还可以创建自定义设置对话框。有一个很好的代码项目帖子关于这样做here。


获得这些信息后,您需要实际访问它并在安装过程中使用它。

为此,您需要将安装程序类添加到您的目标项目(您要安装的项目)。

在该安装程序类中,您可以引用您使用以下代码创建的文本框:

public override void Install(System.Collections.IDictionary stateSaver)
{
    string myPassedInValue=this.Context.Parameters["TEST"];
    //Do what you want with that value - such as storing it as you wanted.
}

这个答案离 10000 英尺有点远 - 如果我深入了解所有细节,我最终会写一篇完整的文章。如果您有任何症结,请询问。另外 - 看看 this excellent article 的主题,如果不是全部的话,它应该能帮助你。

【讨论】:

    【解决方案2】:

    在 VS 解决方案资源管理器中

    右键你的设置 >> 查看 >> 用户界面

    右键开始 >> 添加对话框 >> 选择文本框

    现在制作了Custom Class 并添加Install class 文件

    示例代码

    在 Install.cs 中

    public override void Install(IDictionary stateSaver)
        {
                    base.Install(stateSaver);
                    string targetDirectory = Context.Parameters["Username"];
                    string servername = Context.Parameters["password"];
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多