适用于Windows安装程序的免费软件:NSIS与WiX?[关闭]


67

我需要选择一个软件包来安装软件。NSIS和WiX看起来很有希望。您会推荐哪一个,为什么?

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

Answers:


83

如果你想获得一个完成安装的今天,架空的最低金额,使用NSIS。简单的脚本语言,良好的文档,快速。

如果要构建MSI文件,请与Windows Installer事务系统集成,并有足够的时间专门学习Windows Installer所使用的声明式模型,然后查看WiX。


并不是很书面中立(因此为-1),但很重要。没关系,如果您需要学习两者中的任何一个,那么两者都会花费您的时间。两者都有其优点,NSIS是独立的,通过wix,您可以获得Windows Installer集成。
奥利弗·弗里德里希

29
如果您想在午饭前完成它,那么可以改用InnoSetup + IStool-这样,您就无需使用NSIS使用的类似于汇编的编程语言。
罗曼·斯塔科夫

6
我没有尝试过WiX。但是NSIS对我来说是防弹的。它是如此之快和轻巧。我在这里写了一些我的经历:swortham.blogspot.com/2008/02/…–
史蒂夫·

3
+1以抵消BeowulfOF。个人回答不是客观的真理,提供中立的医生偏僻的语言中隐藏的纯个人偏见是容易且普遍的。

这是一个了不起的答案。
一流的

40

另外,也许试一试Inno Setup。当然,您可能会发现它有些奇怪,因为它迫使您用Pascal编写自定义代码,但是再说一遍,几乎没有任何其他东西迫使您实际执行自定义代码-Inno Setup确实非常强大。

Inno Setup还会生成EXE安装程序-如果您希望将应用程序轻松部署到企业环境中,则可能必须走WiX路线,尽管就我个人而言,我作为用户有很多与MSI相关的问题我个人更希望MSI死于缓慢而可怕的死亡(嗯-实际上,在这一点上快速死亡将是有利的-但它很可能是可怕的),所以就继续执行EXE文件的事情。

所以。

  • NSIS:要求您学习一种新语言。创建EXE安装程序。
  • WiX:声明性安装创建,尽管有点底层。当然,这需要一些基本的MSI知识,但由于普遍缺乏简单的教程,我很难找到这些知识。
  • Inno Setup:允许您使用简单的,基于.INI-File的语法创建功能强大的EXE安装程序,但如果需要自定义编码,它会强制您学习Pascal。

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


1
我很好奇,与MSI相关的问题是什么?
Wim Coenen

14

这与*几乎是重复的*构建Windows安装程序的最佳选择是什么,所以我建议您在那查看很多很多答案(那里也有一些关于商业替代方案的讨论)。

您需要问自己的问题是:我是否需要与SMS / Active Directory部署的公司部署方案兼容?如果答案是肯定的,那么请学习MSI基础知识

如果您希望发布的应用程序只是出于娱乐目的,或者不需要在公司环境中获得支持,并且又不想花很多时间来加快速度,请学习NSIS。


8
[构建Windows安装程序的最佳选择是什么]:找不到页面
Rafael Perez

10

NSIS将为您提供一个exe,WiX将为您提供一个MSI。

我已经使用NSIS将几个MSI安装程序打包到一个exe中,并进行了一些其他检查,但我不知道如何使用VS.NET安装项目。

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

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

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


6

我在工作中使用NSIS(我将它带入并转换了我们的旧InstalShield内容),并且我喜欢它。

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


4

我个人只是尝试过WiX。它的学习曲线有些陡峭(除非您设法为其找到了一个不错的图形用户界面),但最终应该得到回报,因为它使用Windows Installer格式(MSI)而不是自定义EXE(我相信)是NSIS所做的。如今,WiX / MSI的声明方法通常受到青睐,并且被认为更可靠。但是,如果您只需要一个快速简便的解决方案,则可以选择NSIS,因为它应该具有许多示例并具有良好的支持基础(尽管就我个人而言,我只会使用Visual Studio安装程序包来完成此类工作)。这篇博客文章似乎很好地讨论了此事。


+1是进行良好讨论的链接
蒂姆在2009年

1

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

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


0

您应该看看InstallJammer。它不仅免费,而且是跨平台的,并且非常易于使用。大多数常见的操作根本不需要任何脚本,但是在幕后使用强大的脚本语言,您可以使安装几乎执行任何您想要的操作。

如果您想要的只是安装应用程序的基本安装程序,则可以在首次启动后的几分钟内完成构建。如果您想要更强大的功能,那么功能和文档非常出色。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.