【问题标题】:Free software for Windows installers: NSIS vs. WiX? [closed]Windows 安装程序的免费软件:NSIS 与 WiX? [关闭]
【发布时间】:2010-10-02 07:33:18
【问题描述】:

我需要选择一个软件包来安装软件。 NSIS 和 WiX 似乎很有希望。你会推荐哪一个而不是另一个,为什么?

如果您认为它比这两个更好,请随时提供其他东西。

【问题讨论】:

    标签: installation wix windows-installer nsis


    【解决方案1】:

    NSIS 会给你一个 exe,WiX 会给你一个 MSI。

    我使用 NSIS 将几个 MSI 安装程序打包到一个 exe 中,并进行了一些额外的检查,我无法弄清楚如何使用 VS.NET 安装项目。

    INNO Setup 是您可能想要查看的另一个安装程序。它比 WiX 更接近 NSIS,但它使安装程序看起来更像标准安装程序而不是 NSIS 安装程序。

    我没有使用 WiX,因为我不喜欢用于构建安装程序的 XML 定义语言,而且我不知道它是否支持打包其他依赖的 MSI

    在这三个中我最喜欢 NSIS,因为它有最好的文档。

    【讨论】:

      【解决方案2】:

      如果您希望今天完成安装程序,并且开销最少,请使用 NSIS。简单的脚本语言,良好的文档,快速。

      如果您想构建 MSI 文件,与 Windows Installer 事务系统集成,并有大量时间致力于学习 Windows Installer 使用的声明式模型,那么请查看 WiX。

      【讨论】:

      • 写得不是很中性(因此是-1),但说到重点。没关系,如果您需要学习两者中的任何一个,都将花费您的时间。两者都有其优点,NSIS 是独立的,使用 wix 可以获得 windows 安装程序集成。
      • 如果您想在午餐前完成它,请改用 InnoSetup + IStool - 这样您就不需要使用 NSIS 使用的类似汇编的编程语言。
      • 我没试过 WiX。但 NSIS 对我来说是万无一失的。而且它非常快速和轻巧。我在这里写了一些关于我的经历:swortham.blogspot.com/2008/02/…
      • +1 抵消 BeowulfOF。个人的回答不是客观事实,提供隐藏在中性医生床边方式语言中的纯粹个人偏见很容易,也很常见。
      • 这是一个很棒的答案。
      【解决方案3】:

      我个人只尝试过 WiX。它有一个稍微陡峭的学习曲线(除非你设法为它找到一个漂亮的图形用户界面),但最终应该得到回报,因为它使用 Windows 安装程序格式(MSI)而不是像(我相信)NSIS 那样的自定义 EXE . WiX/MSI 的声明式方法现在普遍受到青睐,被认为更可靠。但是,如果您只是想要一个快速简单的解决方案,NSIS 可能是一个选择,因为它应该有很多示例和良好的支持基础(尽管我个人只会使用 Visual Studio 安装包来完成类似的事情)。 This blog post 似乎讨论得很好。

      【讨论】:

      • +1 以获得精彩讨论的链接
      【解决方案4】:

      我在工作中使用 NSIS(我把它带进来并转换了我们旧的 InstalShield 东西),我确实喜欢它。

      我不能说其他选项,但 NSIS 对于更复杂的安装程序流程可能会很棘手,而脚本语言对于更详细的事情来说有点原始(更像是汇编程序而不是高级语言)。

      【讨论】:

        【解决方案5】:

        另外,也许给Inno Setup 一个机会。当然,你可能会觉得它有点奇怪,因为它迫使你用 Pascal 编写自定义代码,但话又说回来,几乎没有任何东西可以强迫你实际编写自定义代码 - Inno Setup 真的非常强大。

        Inno Setup 还生成 EXE 安装程序 - 如果您希望您的应用程序可以在企业环境中轻松部署,您可能不得不走 WiX 路线,但就个人而言,我遇到了相当多的 MSI 相关问题作为一个用户,我个人更喜欢 MSI 缓慢而可怕地死去(嗯 - 实际上,此时快速死去是有利的 - 但它很可能是可怕的),所以继续做 EXE 文件的事情。

        所以。

        • NSIS: 要求您学习一门新语言。创建 EXE 安装程序。
        • WiX: 声明式设置创建,虽然有点低级。它当然需要一些基本的 MSI 知识,我发现由于缺乏简单的教程而很难获得这些知识。
        • Inno Setup:允许您使用简单且主要基于 .INI 文件的语法创建功能强大的 EXE 安装程序,但如果您需要自定义编码,它会迫使您学习 Pascal。

        作为一名长期的Delphi 编码员,我总是会选择 Inno Setup,尽管这可能非常有偏见(我从 1996 年左右开始就是 Inno Setup 的粉丝)。

        【讨论】:

        • 我很好奇,与 MSI 相关的问题是什么?
        【解决方案6】:

        这几乎是 *What is the best choice for building Windows installers 的副本,所以我建议您查看那里的很多很多答案(那里也有一些关于商业替代品的讨论)。

        您需要问自己的问题是:SMS/Active Directory 部署是否需要与企业部署场景兼容?如果答案是肯定的,那么learn the MSI fundementals

        如果您想发布一个真正只是为了好玩或不需要在企业环境中获得支持的应用程序,并且您不想花大量时间来加快速度,那么请学习 NSIS。

        【讨论】:

        • [构建 Windows 安装程序的最佳选择是什么]:找不到页面
        • NSIS 和 Active Directory 有什么问题?是否存在不允许 e.xe 与默认允许 .msi 的规则?
        【解决方案7】:

        你应该看看InstallJammer。它不仅是免费的,而且是跨平台的并且非常易于使用。大多数常见操作根本不需要任何脚本,但借助强大的底层脚本语言,您可以让安装做任何您想做的事情。

        如果您只需要一个基本的安装程序来安装您的应用程序,那么您可以在第一次启动后的几分钟内构建它。如果您想要更强大的功能,功能和文档都非常出色。

        【讨论】:

          【解决方案8】:

          我使用过 NSIS。我不能真正评论其他人,但是我认为有很多 cmets 有助于做出客观的决定(如果你还没有的话)。 HMNSIS 软件非常适合为简单的应用程序创建简单的安装程序。它有一个内置向导,是 NSIS 的好小 IDE。

          我也同意它是一个文档齐全的免费软件。但是,就像我说的那样,由于我不需要其他任何东西(因为我喜欢 NSIS),所以我无法比较。

          【讨论】:

            猜你喜欢
            • 2010-09-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-02
            • 1970-01-01
            • 1970-01-01
            • 2019-05-18
            相关资源
            最近更新 更多