> NSIS – 生成安装程序可执行文件的免费工具.小二进制.专门的,有时是迟钝的脚本语言.
> Inno Setup – 用于安装可执行文件的免费工具.各种二进制压缩方案. Pascal脚本引擎.
> WIX – 用于生成MSI二进制文件的免费工具集. XML定义语言.
> WIX ClickThrough – 用于打包,Web下载和自动更新检测的其他工具(现在是WIX核心的一部分).
> InstallShield – 安装包装的商业开发环境.生成MSI二进制文件.类似于C语言的InstallScript语言.
> Wise – 安装包装的商业开发环境.生成MSI二进制文件.
> ClickOnce – Visual Studio支持将应用程序发布到Web服务器的框架,并自动检测更新.不支持自定义安装要求(INI文件,注册表等…).包设置为MSI二进制文件.
> Install Aware – 安装的商业开发环境.生成MSI二进制文件.自动更新框架(Web Update).
如果我错过了,请告诉我.
并在StackOverflow上找到了一些有关这些技术的有用讨论:
> Best Simple Install System
> Best choice for Windows installers
> Alternatives to ClickOnce
我已经使用了一些这样的解决方案,以及一些专有的内部安装解决方案.它们主要关注打包安装并为开发人员提供访问运行时环境的框架.随着对Web部署和自动软件更新的需求不断增长,我希望在开发人员之间找到更多关于Web交付软件和后续更新框架的共识,我还没有真正找到共识.当然有可用的解决方案(ClickOnce,ClickThrough,InstallShield更新服务),但它们都有相当大的限制(如果我错误地代表任何这些,请纠正我).我会对提供以下某些内容的框架感兴趣:
>第三方托管/管理更新.
>访问客户端环境(INI文件,注册表等).
>用户注册/激活.
>反馈/错误报告
这让我产生了强烈的印象,即解决Web部署问题的最佳方法是通过定制的专有解决方案(可能利用现有的安装程序包).我已经看到这种解决方案适用于许多成功的应用程序:
> FileZilla – 对update.filezilla-project.org的HTTP请求以检查更新,下载NSIS二进制文件(我认为),然后关闭以运行安装.
>大型多人游戏的自动更新是完全必要的,并且使用专有系统普遍实施.
所以,最后,我的问题:
>我是否错过了提供我需要的功能的Web部署框架?
>我的要求是否过于具体,无法合理地期望第三方框架能够实现?
>我应该购买还是建造?