代码之家  ›  专栏  ›  技术社区  ›  RedBlueThing

购买或构建web部署?[闭门]

  •  8
  • RedBlueThing  · 技术社区  · 17 年前

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

    • NSIS
    • Inno Setup -安装可执行文件的免费工具。各种二进制压缩方案。Pascal脚本引擎。
    • WIX -用于生成MSI二进制文件的免费工具集。XML定义语言。
    • WIX ClickThrough
    • InstallShield -安装包装的商业开发环境。生成MSI二进制文件。类似C的InstallScript语言。
    • Wise -安装包装的商业开发环境。生成MSI二进制文件。
    • ClickOnce -Visual Studio支持的框架,用于将应用程序发布到Web服务器,并自动检测更新。不支持自定义安装要求(INI文件、注册表等…)。将安装程序打包为MSI二进制文件。
    • Install Aware

    并发现了有关StackOverflow的这些技术的一些有用的讨论:

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

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

    • FileZilla-HTTP请求update.FileZilla-project.org检查更新,下载一个NSIS二进制文件(我想),然后关机运行安装。
    • 大规模多人游戏的自动更新是完全必要的,并且普遍使用专有系统实现。

    所以,最后,我要回答我的问题:

    • 我的需求是否过于具体,无法合理地期望第三方框架交付?
    • 我应该买还是建?
    4 回复  |  直到 9 年前
        1
  •  12
  •   justin justin    17 年前

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

    购买Installaware将自担风险。

        2
  •  10
  •   David J. David J.    17 年前

    绝对同意海报上说的远离InstallAware。他们有很长的历史,存在着非常荒谬的道德问题,他们对待自己的客户非常糟糕。他们可能是彻头彻尾的辱骂和侮辱。

    小心!

        3
  •  4
  •   Mark    16 年前

    我完全同意你的看法。

    在使用WiX、NSIS和InstallAware之后,我不得不谦虚地承认,它们对于我作为一名软件开发人员真正需要的东西来说都是过火了。到目前为止,我所做的任何项目都无法使用VisualStudio部署项目进行部署。

    它是有限的吗?对

    非常 简单易学的用法。而且你实际上 可以 补丁 (.MSP文件)使用所述的技术 here

    我完全理解你不能这么做 在VisualStudio安装项目中,但您的 完成它是免费的、简单的,坦率地说,对于一般用途来说,它比花无数时间学习WiX令人难以置信的XML(尽管它令人印象深刻)或InstallAware的冗长脚本更好。。。

    与VS设置,它的拖放&建立和部署。我尝试过的其他解决方案都遇到了挫折。。。他们无法自动检测您的项目输出。。。或者需要特殊的过滤器,以便不包含生成中不需要的输出。

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

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

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

        4
  •  2
  •   thomasrutter    17 年前
    • 如果您的具体要求是您业务的核心;ie业务的一部分是提供一个平滑和用户友好的部署/安装,您觉得没有任何可用的部署库可以让您实现这一点,那么当然可以继续构建自己的部署库。
    • 如果您的具体要求很好,但它们不构成您业务的重要部分;也就是说,最终用户通常不会期望或需要一个平滑的安装过程,或者永远不需要自己去做(也就是说,他们将这一步骤传递给他们的IT部门),那么,仅仅为自己的特定需求构建自己的安装过程的需要很可能会被所涉及的额外工作所压倒。

    我认为你的印象是你将需要一个定制的解决方案是一个良好的印象;您的需求似乎将成为产品体验的关键,特别是如果您需要真正平滑的自动更新和反馈。

    推荐文章