我需要选择一个软件包来安装软件.NSIS和WiX似乎很有希望.你会推荐哪一个,为什么?
如果您认为它比这两个更好,请随意提供其他东西.
如果您希望以最少的开销完成今天的安装程序,请使用NSIS.简单的脚本语言,良好的文档,快速.
如果要构建MSI文件,与Windows Installer事务系统集成,并有足够的时间专门学习Windows Installer使用的声明性模型,那么请查看WiX.
此外,也许给Inno设置一个镜头.当然,您可能会发现它有点奇怪,因为它迫使您在Pascal中编写自定义代码,但是再一次,几乎没有任何东西会迫使您实际执行自定义代码 - Inno Setup确实非常强大.
Inno Setup还会生成EXE安装程序 - 如果您希望您的应用程序可以在企业环境中轻松部署,那么您可能不得不采用WiX路由,但就个人而言,作为用户,我已经拥有相当多的MSI相关问题个人更希望MSI死于缓慢而可怕的死亡(好吧 - 实际上,此时快速死亡会很有利 - 但很可能会很糟糕),所以请继续执行EXE文件.
所以.
NSIS:要求您学习一门新语言.创建EXE安装程序.
WiX:声明式设置创建,虽然有点低级.它当然需要一些基本的MSI知识,我发现很难通过普遍缺乏简单的教程来获得这些知识.
Inno Setup:允许您使用基于.INI-File的简单语法创建功能强大的EXE安装程序,但如果您需要自定义编码,它会强制您学习Pascal.
作为一个长期的德尔福编码器,我总是会去Inno Setup,虽然这可能是非常有偏见的(我从1996年开始就是Inno Setup的粉丝).
这几乎是一个副本*建立Windows安装程序的最佳选择是什么,所以我建议你查看那里的许多答案(也有一些关于商业替代品的讨论).
您需要问自己的问题是:我是否需要与SMS/Active Directory部署的企业部署方案兼容?如果答案是肯定的,那么学习MSI fundementals.
如果您想发布一个真正只是为了好玩或者不需要在企业环境中得到支持的应用程序,并且您不想花费大量时间来加快速度,那么请学习NSIS.
NSIS会给你一个exe,WiX会给你一个MSI.
我已经使用NSIS将几个MSI安装程序打包到一个exe中并进行一些额外的检查我无法弄清楚如何使用VS.NET安装项目.
INNO Setup是您可能想要查看的另一个安装程序.它比NSX更接近NSIS,但它的安装程序看起来更像是NSIS安装程序的标准安装程序.
我没有使用WiX,因为我不喜欢用于构建安装程序的XML定义语言,我无法弄清楚它是否支持打包其他依赖的MSI
我最喜欢NSIS的三个,因为它有最好的文档.
我在工作中使用NSIS(我把它带入并转换了我们的旧的InstalShield东西),我喜欢它.
我无法代替其他选项,但NSIS对于更复杂的安装程序流程来说可能很棘手,而脚本语言对于更详细的事物来说是一种原始的(更像是汇编程序而不是高级语言).