【问题标题】:Visual Studio Deployment Project: Allow User to Select Configuration file at runtimeVisual Studio 部署项目:允许用户在运行时选择配置文件
【发布时间】:2010-12-14 18:47:58
【问题描述】:

我有一个使用 VS2008 构建的 Windows 服务。该服务通过 MSI 安装在目标机器上,MSI 是我使用 Visual Studio 中的安装和部署项目构建的。当 MSI 运行时,它将所需的二进制文件复制到目标目录并在服务控制管理器中安装服务。

我设置了项目,以便它们在目标目录中创建一个“配置”目录。每种环境类型(Dev、QA、Prod)都有一个配置文件。

就目前而言,安装完成后,用户必须转到 Configs 目录并将所需的配置复制到基本目标目录。这会造成混乱和一些错误。

我希望 MSI 文件提示用户输入

【问题讨论】:

    标签: c# .net visual-studio-2008 installation


    【解决方案1】:

    我已经成功地在设置项目中为我的服务部署完成了相同的需求功能。

    首先,您需要在安装项目的“文件系统”中的应用程序文件夹下添加“配置”目录。

    其次,查看“用户界面”设计器。在这里,您需要添加一个新对话框。我所做的是添加一个带有两个单选按钮的对话框(选择是开发或生产)。我把我的放在设置菜单序列中的“欢迎”对话框之后。

    选择您的新对话框并在“属性”窗口中添加您需要的内容。在我的正文中,我告诉用户“选择一个部署选项”。从那里您为每个选择设置值。我的 Button1Label 属性读取为“开发”,Button1Value 为 1。按钮 2 是“生产”,值为 2。我将 ButtonProperty 命名为“部署”。

    最后,将每个配置文件添加到“应用程序文件夹”->“配置”下的文件系统中。 这里的关键操作是将每个配置文件绑定到一个部署选项。对于开发配置文件,Condition 属性为:

    DEPLOY=1
    

    类似地,生产配置Condition 属性将是:

    DEPLOY=2
    

    它很简单,但它完全可以满足您的需求。设置项目很难做到这一点。它们缺乏很多功能。

    【讨论】:

    • 在您发布此解决方案时,我最终做了一些非常相似的事情。我添加了一个单选按钮自定义 ui,然后添加了我在安装时运行的自定义操作。它获取传递给它的选定单选按钮的值,并根据需要复制正确的配置文件。与您的解决方案非常相似。我的工作似乎更多,但两者都完成了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    相关资源
    最近更新 更多