【问题标题】:How to design an installer so it can be used in automated acceptance tests如何设计安装程序,使其可用于自动化验收测试
【发布时间】:2011-09-08 00:19:22
【问题描述】:

背景:

我们有一个 Windows 安装程序,它可以简单地安装和启动我们的自定义 WinForms 安装程序。这个自定义安装程序进行真正的安装:创建 IIS Web 应用程序、复制 dll、安装数据库等...

我们现在想编写一些自动化验收测试,其中包括使用与我们在生产中使用的相同安装过程来安装软件。我们希望从每晚在专用机器上运行验收测试开始,然后作为持续集成管道的一部分。

问题:

事实证明,自动化 WinForms 安装程序很困难。而且我们不希望在验收测试中使用特殊的安装代码。

问题:

对于将部署过程集成到自动化测试中,各位聪明人有什么建议?

我怀疑在安装程序中使用 WinForms 的决定是一个糟糕的选择 - 特别是因为生成的应用程序没有明确地将 UI 代码与实际安装代码分开。

【问题讨论】:

    标签: winforms installation continuous-integration windows-installer continuous-deployment


    【解决方案1】:

    我的建议是使用基于 MSI 的安装程序,而不是尝试使用 Windows 窗体自行安装。考虑使用Windows Installer XML (WiX) toolset,这是一个流行的免费开源工具集,用于创建安装程序。

    使用 MSI 有很多优点,特别是它很难混合安装程序逻辑和 UI(有点像 falling into the pit of success),因此制作适合在远程机器上运行的无人值守安装程序是小菜一碟。

    如果您已经致力于当前的安装方法,那么您需要将您的 UI 和逻辑分离到您可以在不显示任何 UI 的情况下运行安装的程度 - 很难就如何执行此操作提供任何具体建议没有更具体的例子。

    【讨论】:

    • “成功之坑”的好链接。自定义 WinForms 安装程序在当时似乎是个好主意,但它已经发展成为一个复杂的软件,目前只能手动测试。
    • @Gareth 我有维护基于脚本的安装程序的“乐趣”。我敢肯定它一开始很简单,但安装程序是一项棘手的业务,现在它变得一团糟。从那时起,MSI 被发明出来,它试图处理更复杂的部分 - 我等不及要编写安装程序的那一天,所有更困难的逻辑都由 MSI 处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2016-06-16
    • 2021-10-27
    • 1970-01-01
    相关资源
    最近更新 更多