我需要选择一个软件包来安装软件。 NSIS和WiX似乎很有希望。你会推荐哪一个以及为什么?
如果您认为它比这两个更好,请随意提供其他内容。
答案 0 :(得分:76)
如果您希望安装今天,只需最少的开销,请使用NSIS。简单的脚本语言,良好的文档,快速。
如果要构建MSI文件,与Windows Installer事务系统集成,并有足够的时间专心学习Windows Installer使用的声明性模型,请查看WiX。
答案 1 :(得分:38)
另外,也许可以给Inno Setup一个机会。当然,您可能会发现它有点奇怪,因为它迫使您在Pascal中编写自定义代码,但是再一次,几乎没有任何东西会迫使您实际执行自定义代码 - Inno Setup确实非常强大。
Inno Setup还会生成EXE安装程序 - 如果您希望您的应用程序可以在企业环境中轻松部署,那么您可能不得不采用WiX路线,但就个人而言,我已经拥有了相当多的MSI作为一个用户的相关问题,我个人更喜欢MSI死于缓慢而可怕的死亡(嗯 - 实际上,此时快速死亡将是有利的 - 但它很可能会很糟糕),所以只需继续执行EXE文件的事情。
所以
作为一名长期Delphi编码员,我总是会去Inno Setup,虽然这可能非常有偏见(我从1996年开始就是Inno Setup粉丝)。
答案 2 :(得分:14)
这几乎是* What is the best choice for building Windows installers的重复,所以我建议您查看那里的许多答案(也有一些关于商业替代方案的讨论)。
您需要问自己的问题是:我是否需要与SMS / Active Directory部署的企业部署方案兼容?如果答案是肯定的,那么learn the MSI fundementals。
如果您希望发布的应用程序非常有趣或者不需要在企业环境中得到支持,并且您不想花费大量时间来加快速度,那么请学习NSIS。
答案 3 :(得分:9)
NSIS会给你一个exe,WiX会给你一个MSI。
我已经使用NSIS将几个MSI安装程序打包到一个exe中并进行一些额外的检查我无法弄清楚如何使用VS.NET安装项目。
INNO Setup是您可能想要查看的另一个安装程序。它比NSX更接近NSIS,但它的安装程序看起来更像是NSIS安装程序的标准安装程序。
我没有使用WiX,因为我不喜欢用于构建安装程序的XML定义语言,我无法弄清楚它是否支持打包其他依赖的MSI
在我最喜欢的NSIS中,因为它拥有最好的文档。
答案 4 :(得分:6)
我在工作中使用NSIS(我把它带入并转换了我们的旧InstalShield东西),我确实喜欢它。
我无法代替其他选项,但NSIS对于更复杂的安装程序流程来说可能很棘手,而脚本语言对于更详细的事物来说是一种原始的(更像是汇编程序而不是高级语言)。
答案 5 :(得分:4)
就我个人而言,我只尝试过WiX。它有一个稍微陡峭的学习曲线(除非你设法为它找到一个漂亮的图形用户界面),但最终应该得到回报,因为它使用Windows Installer格式(MSI)而不是自定义EXE(我相信)NSIS 。 WiX / MSI的声明性方法现在通常受到青睐,并且被认为更可靠。但是,如果你只是想要一个快速简单的解决方案,NSIS可能是一个选择,因为它应该有很多样本和良好的支持基础(虽然我个人只是使用Visual Studio安装包来做类似的事情)。 This blog post似乎很好地讨论了这件事。
答案 6 :(得分:1)
我使用过NSIS。我不能真正评论其他人,但我认为有很多评论有助于做出客观的决定(如果你还没有)。 HMNSIS软件非常适合为简单的应用程序创建简单的安装程序。它有一个内置的向导,是NSIS的好IDE。
我也同意这是一个记录良好的免费软件。但是,就像我说的那样,由于我不需要任何其他东西(因为我喜欢NSIS),我无法比较。
答案 7 :(得分:0)
你应该看看InstallJammer。它不仅免费,而且跨平台且易于使用。最常见的操作根本不需要任何脚本,但是使用强大的脚本语言,您可以安装任何您想要的任何脚本。
如果你想要的只是一个安装你的应用程序的基本安装程序,你可以在第一次启动它的过程中在几分钟内完成它。如果您想要更强大的功能,那么功能和文档都非常出色。