我一直在评估适用于 Windows 应用程序的各种安装和 Web 部署解决方案。我将在这里澄清(没有太多细节,这些工具已在其他问题中介绍过)我对选项的理解:

  • 国家信息安全局 - 生成安装可执行文件的免费工具。小二进制。专业的、有时是迟钝的脚本语言。
  • 创新设置 - 用于安装可执行文件的免费工具。各种二进制压缩方案。Pascal 脚本引擎。
  • 维克斯 - 用于生成 MSI 二进制文件的免费工具集。XML 定义语言。
  • WIX 点击通过 - 用于打包、网络下载和自动更新检测的附加工具(现在是 WIX 核心的一部分)。
  • 安装盾 - 安装打包的商业开发环境。生成 MSI 二进制文件。类似 C 的 InstallScript 语言。
  • 明智的 - 安装打包的商业开发环境。生成 MSI 二进制文件。
  • 单击一次 - Visual Studio 支持将应用程序发布到网络服务器的框架,并自动检测更新。不支持自定义安装要求(INI 文件、注册表等...)。将软件包设置为 MSI 二进制文件。
  • 安装感知 - 用于安装的商业开发环境。生成 MSI 二进制文件。自动更新框架(Web Update)。

如果我遗漏了任何内容,请告诉我。

并在 StackOverflow 上找到了一些关于这些技术的有用讨论:

我使用过其中一些解决方案,以及一些专有的内部安装解决方案。他们主要关注打包安装并为开发人员提供访问运行时环境的框架。随着对 Web 部署和自动软件更新的需求不断增长,我希望开发人员能够就软件的 Web 交付和后续更新的框架达成更多共识,但我还没有真正找到这种共识。当然有可用的解决方案(ClickOnce、ClickThrough、InstallShield Update Service),但它们各自都有相当大的局限性(如果我错误地表述了其中任何一个,请纠正我)。我对提供以下一些功能的框架感兴趣:

  • 第三方托管/管理更新。
  • 访问客户端环境(INI 文件、注册表等)。
  • 用户注册/激活。
  • 反馈/错误报告

这给我留下了强烈的印象:解决 Web 部署问题的最佳方法是通过定制的专有解决方案(可能利用现有的安装程序包)。我已经看到这种解决方案在许多成功的应用程序中运行良好:

  • FileZilla - 向 update.filezilla-project.org 发出 HTTP 请求以检查更新,下载 NSIS 二进制文件(我认为),然后关闭以运行安装。
  • 大型多人游戏的自动更新是完全必要的,并且普遍使用专有系统来实现。

所以,最后,我的问题是:

  • 我是否错过了能够提供我所需功能的 Web 部署框架?
  • 我的要求是否过于具体而无法合理地期望第三方框架能够交付?
  • 我应该购买还是建造?
有帮助吗?

解决方案

  • 如果您的具体要求是您业务的核心;即,您的部分业务是提供流畅且用户友好的部署/安装,并且您认为没有任何可用的部署库可以让您实现此目标,那么当然可以继续构建自己的部署/安装。
  • 如果您的具体要求很不错,但它们并不构成您业务的重要组成部分;即最终用户通常不会期望或需要顺利的安装过程,或者永远不需要自己执行此操作(即他们将该步骤传递给他们的 IT 部门),那么需要仅针对您自己的特定要求构建自己的安装过程可能会被所涉及的额外努力所抵消。

我认为您对需要定制解决方案的印象是合理的;似乎您的要求将成为产品体验的关键,特别是如果您需要真正流畅的自动更新和反馈。

其他提示

我强烈建议您谨慎使用Installaware。最近,我们在他们的客户支持方面获得了令人震惊的体验。

我们严格遵循了他们的一个示例项目,但最终惨遭失败。向客户支持提出了支持票,并被告知他们需要花费 199 美元来修复自己的代码。

然后我们在用户论坛中提出了同样的问题,并立即被禁止,因为这构成了交叉发帖,是不被允许的。尽管他们的条款和条件中没有提及这一点。事实上,他们禁止了我们的 IP,因此我们公司的任何人都无法在论坛上发帖。

一次非常糟糕的经历,我们不会再重复。我们现在希望尽快替换 Installaware。

购买 Installaware 的风险由您自行承担。

完全同意发帖者所说的远离InstallAware。他们长期以来一直存在非常荒谬的道德问题,而且他们对待自己的客户也很糟糕。他们可能是彻头彻尾的辱骂和侮辱。

当心InstallAware!

我完全同意InstallAware。

在使用 WiX、NSIS 和 InstallAware 后,我不得不谦虚地承认,它们对于我作为软件开发人员真正需要的东西来说都有些过分了。到目前为止,我完成的所有项目都无法使用 Visual Studio 部署项目进行部署。

有限制吗?是的。

也是 非常 简单易学,使用方便。而且,你其实 做一些非常巧妙的事情,比如自动创建 补丁 (.MSP 文件)通过使用所描述的技术 这里

我完全理解你做不到 一切 在 Visual Studio 安装项目内部,但令人惊讶的是 完成。它是免费的、简单的,而且坦率地说,对于一般用途来说,它比花费无休止的时间学习 WiX 令人难以置信的 XML(令人印象深刻)或 InstallAware 的冗长脚本更好的选择......

使用 VS 安装程序,只需拖放和构建即可部署。我尝试过的所有其他解决方案都遇到了挫折......他们无法自动检测您的项目输出...或者需要特殊的过滤器,以免包含构建中不需要的输出。

我的建议是:如果您只是希望部署您的项目,那么请学习:

  1. 如何构建自定义安装程序类,以及
  2. 如何编写您自己的必备包

这些都是相当容易掌握的技能,并且可以满足大多数开发人员的需求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top