用于Windows安装程序的免费软件:NSIS与WiX?

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

如果你觉得比这两个更好,可以随意提供其他的东西。

如果你想在今天完成一个安装程序,使用NSIS的开销最小。 简单的脚本语言,良好的文档,快速。

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

另外,也许给Inno安装一个镜头。 当然,你可能会发现它有点奇怪,因为它迫使你在Pascal中编写自定义代码,但是再一次,几乎没有任何东西会迫使你实际执行定制代码 – Inno Setup确实非常强大。

Inno Setup还会生成EXE安装程序 – 如果您希望您的应用程序可以轻松部署到企业环境中,那么您可能必须使用WiX路线,但个人而言,我已经将MSI相关问题分享给了我个人更希望微星死亡是一个缓慢而可怕的死亡(实际上,在这一点上快速死亡是有利的 – 但可怕的是非常可能),所以只要继续做EXE文件的事情。

所以。

  • NSIS :要求你学习一种新的语言。 创buildEXE安装程序。
  • WiX :声明式设置创build,虽然有点低级。 这当然需要一些基本的MSI知识,我发现通过缺乏简单的教程很难实现。
  • Inno Setup :允许你创build一个相当强大的EXE安装程序,它有一个简单的,基于.INI文件的简单语法,但是如果你需要自定义编码,它会强制你学习Pascal。

作为一个长期的Delphi编码器,我总是会去Inno Setup,尽pipe这可能是非常有偏见的(自从1996年以来,我是一个Inno Setup粉丝)。

这几乎是重复* 什么是build立Windows安装程序的最佳select ,所以我build议你看看那里的许多答案(这里也有一些商业替代scheme的讨论)。

您需要自问的问题是:我是否需要与SMS / Active Directory部署的企业部署scheme兼容? 如果答案是肯定的,那么学习MSI的function 。

如果你想发布一个应用程序,那真的只是为了好玩,或者不需要在企业环境中支持,而且你也不想花费大量时间来学习NSIS。

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

我已经使用NSIS打包几个MSI安装到一个单一的exe文件,并做了一些额外的检查,我不知道如何使用VS.NET安装项目。

INNO Setup是您可能想要查看的另一个安装程序。 它接近于NSIS,然后是WiX,但它所做的安装程序看起来更像标准安装程序,然后是NSIS安装程序。

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

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

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

我不能说其他选项,但NSIS对于更复杂的安装程序stream程可能会比较棘手,脚本语言对于更详细的东西(更像汇编语言而不是高级语言)是原始的。

我个人只试过WiX。 它有一个稍微陡峭的学习曲线(除非你设法find一个漂亮的graphics用户界面),但最终应该得到回报,因为它使用Windows Installer格式(MSI),而不是一个自定义的EXE(我相信) 。 WiX / MSI的陈述方式现在普遍受到青睐,被认为更可靠。 然而,如果你只是想要一个快速简单的解决scheme,NSIS可能是select,因为它应该有很多样本和一个良好的支持基地(虽然我个人会只使用Visual Studio安装包的东西)。 这篇博客似乎很好地讨论这个问题。

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

我也同意这是一个相当有据可查的免费软件。 但是,正如我所说,由于我没有其他需要(因为我喜欢NSIS)的事实,我无法比较。

你应该看看InstallJammer 。 它不仅是免费的,而且是跨平台的,使用起来非常简单。 大多数常见的操作根本不需要任何脚本,但是在底层使用强大的脚本语言,您可以进行任何您想要的安装。

如果你想要的只是安装应用程序的一个基本的安装程序,那么你可以在第一次启动的时候在几分钟内build立它。 如果你想要更强大的function,那么function和文档都非常棒。