2

背景:

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

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

问题:

事实证明,自动化 WinForms 安装程序很困难。而且我们不想要验收测试的特殊安装代码。

问题:

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

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

4

1 回答 1

5

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

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

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

于 2011-09-07T16:19:22.923 回答