我一直在评估适用于Windows应用程序的各种安装和Web部署解决方案.我将在这里澄清(没有太多细节,这些工具已在其他问题中介绍过)我对选项的理解:
NSIS - 生成安装程序可执行文件的免费工具.小二进制.专门的,有时是迟钝的脚本语言.
Inno Setup - 用于安装可执行文件的免费工具.各种二进制压缩方案.Pascal脚本引擎.
WIX - 用于生成MSI二进制文件的免费工具集.XML定义语言.
WIX ClickThrough - 用于打包,Web下载和自动更新检测的其他工具(现在是WIX核心的一部分).
InstallShield - 用于安装包装的商业开发环境.生成MSI二进制文件.类似于C语言的InstallScript语言.
智慧 - 安装包装的商业开发环境.生成MSI二进制文件.
ClickOnce - Visual Studio支持的框架,用于将应用程序发布到Web服务器,并自动检测更新.不支持自定义安装要求(INI文件,注册表等...).包设置为MSI二进制文件.
安装Aware - 用于安装的商业开发环境.生成MSI二进制文件.自动更新框架(Web Update).
如果我错过了,请告诉我.
并在StackOverflow上找到了一些有关这些技术的有用讨论:
最好的简单安装系统
Windows安装程序的最佳选择
ClickOnce的替代品
我已经使用了一些这样的解决方案,以及一些专有的内部安装解决方案.它们主要关注打包安装并为开发人员提供访问运行时环境的框架.随着对Web部署和自动软件更新的需求不断增长,我期望在开发人员之间找到更多关于Web交付软件和后续更新框架的共识,我还没有真正找到共识.当然有可用的解决方案(ClickOnce,ClickThrough,InstallShield更新服务),但它们都有相当大的限制(如果我错误地代表其中任何一个,请纠正我).我会对提供以下某些内容的框架感兴趣:
第三方托管/管理更新.
访问客户端环境(INI文件,注册表等).
用户注册/激活.
反馈/错误报告
这让我印象深刻,即解决Web部署问题的最佳方法是通过定制的专有解决方案(可能利用现有的安装程序包).我已经看到这种解决方案适用于许多成功的应用程序:
FileZilla - HTTP请求update.filezilla-project.org检查更新,下载NSIS二进制文件(我认为),然后关闭以运行安装.
大型多人游戏的自动更新是完全必要的,并且使用专有系统普遍实现.
所以,最后,我的问题:
我是否错过了提供我需要的功能的Web部署框架?
我的要求是否过于具体,无法合理地期望第三方框架能够实现?
我应该购买还是建造?
小智.. 12
我会敦促在Installaware上谨慎.我们最近在客户支持方面遇到了令人震惊的经历.
我们跟着他们的一个样本项目去了那个悲惨失败的信.在客户支持下提出了一张支持票据,并告诉他们要花费199美元来修复他们自己的代码.
然后,我们在用户论坛中提出了相同的问题并被及时禁止,因为这构成了交叉发布,并且不被允许.即使在他们的条款和条件中没有提到这一点.事实上,他们禁止我们的IP,所以我们公司的任何人都不能发布到论坛.
一个非常糟糕的经历,我们不会重复.我们现在正在寻求尽快更换Installaware.
购买Installaware需要您自担风险.
我会敦促在Installaware上谨慎.我们最近在客户支持方面遇到了令人震惊的经历.
我们跟着他们的一个样本项目去了那个悲惨失败的信.在客户支持下提出了一张支持票据,并告诉他们要花费199美元来修复他们自己的代码.
然后,我们在用户论坛中提出了相同的问题并被及时禁止,因为这构成了交叉发布,并且不被允许.即使在他们的条款和条件中没有提到这一点.事实上,他们禁止我们的IP,所以我们公司的任何人都不能发布到论坛.
一个非常糟糕的经历,我们不会重复.我们现在正在寻求尽快更换Installaware.
购买Installaware需要您自担风险.
绝对同意那些说要远离InstallAware的海报.他们有着悠久的道德问题,他们对待自己的客户非常荒谬.他们可能是彻头彻尾的侮辱和侮辱.
小心InstallAware!