Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation Windows安装程序的免费软件:NSIS与WiX?_Installation_Wix_Windows Installer_Nsis - Fatal编程技术网

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

Installation Windows安装程序的免费软件:NSIS与WiX?,installation,wix,windows-installer,nsis,Installation,Wix,Windows Installer,Nsis,我需要选择一个软件包来安装软件。NSIS和WiX似乎很有希望。你会推荐哪一个,为什么 如果您认为它比这两个更好,请随意提供其他内容。NSIS将为您提供exe,WiX将为您提供MSI 我使用NSIS将两个MSI安装程序打包到一个exe中,并执行一些额外的检查,但我不知道如何使用VS.NET安装项目 INNO安装程序是您可能想查看的另一个安装程序。它比WiX更接近NSIS,但它使安装程序看起来更像标准安装程序,而不是NSIS安装程序 我没有使用WiX,因为我不喜欢用于构建安装程序的XML定义语言,我

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


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

NSIS将为您提供exe,WiX将为您提供MSI

我使用NSIS将两个MSI安装程序打包到一个exe中,并执行一些额外的检查,但我不知道如何使用VS.NET安装项目

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

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


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

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


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

我个人只尝试过WiX。它有一个稍微陡峭的学习曲线(除非你能为它找到一个好的图形用户界面),但最终应该会有回报,因为它使用的是Windows Installer格式(MSI),而不是像NSIS那样使用自定义EXE。WiX/MSI的声明性方法现在普遍受到青睐,并且被认为更可靠。然而,如果您只是想要一个快速简单的解决方案,NSIS可能是一个选项,因为它应该有许多示例和良好的支持基础(尽管就个人而言,我只会使用VisualStudio安装包来实现类似的功能)。似乎讨论得很好。

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

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

另外,也许可以试一试。当然,您可能会发现这有点奇怪,因为它迫使您用Pascal编写自定义代码,但再次强调,几乎没有任何东西迫使您实际执行自定义代码-Inno安装非常非常强大

Inno安装程序也会生成安装程序-如果你想让你的应用程序能够在企业环境中轻松部署,你可能必须走WiX路线,尽管就个人而言,我有很多与MSI相关的问题,作为一个用户,我个人更希望MSI慢慢地、可怕地死去(好吧——事实上,在这一点上,快速死亡是有利的——但很可能是可怕的),所以继续做EXE文件的事情吧

所以

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

作为一个长期的程序员,我总是选择Inno安装,尽管这可能是非常有偏见的(我从1996年左右开始就是Inno安装的粉丝)。

这几乎是*的翻版,所以我建议你看看那里的很多答案(那里也有一些关于商业替代方案的讨论)

您需要问自己的问题是:我是否需要与SMS/部署的公司部署方案兼容?如果答案是肯定的,那么

如果你想发布一个真正只是为了好玩的应用程序,或者不需要在公司环境中得到支持,而且你不想花很多时间来提高速度,那么就学习NSIS。

你应该看看。它不仅是免费的,而且是跨平台的,非常容易使用。大多数常见的操作都不需要任何脚本这是一个非常复杂的过程,但是有了一个强大的脚本语言,你可以让一个安装程序做任何你想做的事情


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

我使用过NSIS。我无法对其他应用程序进行评论,但我认为有很多评论没有hat有助于做出客观的决定(如果您还没有)。HMNSIS软件非常适合为简单的应用程序创建简单的安装程序。它有一个内置的向导,是NSIS的优秀小IDE


我也同意这是一个有很好的文档记录的免费软件。但是,正如我所说的,由于我不需要任何其他东西(因为我喜欢NSIS),我无法比较。

我很好奇,MSI相关的问题是什么?+1用于链接到一个好的讨论,不太中立(因此-1),但说到点子上。这没关系,如果你需要学习这两者中的任何一个,两者都会花费你的时间。两者都有它的优点,NSIS是独立的,与wix集成。如果你想在午餐前完成它,可以使用InnoSetup+IStool,这样你就不需要使用像programming lang这样的程序集NSIS使用的语言。我没有试过WiX。但NSIS对我来说是防弹的。而且它的速度非常快,重量非常轻。我在这里写了一些关于我使用它的经验:+1来抵消贝奥武夫。一个个人的答案不是客观的事实,它很简单,很普通