将NSIS脚本构建为MSI包

Num*_*our 32 installation windows-installer nsis

有没有办法将Nullsoft安装程序脚本(NSI)设置编译为MSI包而不是EXE?

sas*_*ont 27

很不幸的是,不行.

NSIS允许您创建可编写脚本的过程安装包.它简单易用,并具有Windows Installer中不存在的许多功能.

Windows Installer(MSI)创建数据库驱动的事务安装包.正确编写Windows Installer程序包时非常健壮,文件会被损坏/删除,并会自动重新安装.Windows Installer知道UAC并且仅在需要时提升,基本上如果您正在为企业市场创建软件,则需要提供MSI.

查看Windows安装程序的权威指南,以获得对理解MSI的良好介绍.


小智 17

可以使用MSI Wrapper将NSIS安装程序包装在MSI文件中.这是我用来包装NSIS和Inno Setup安装程序的小工具.它使用WiX编译MSI,但有一个GUI可以帮助您而不是XML文件.

这是因为我需要一个工具来创建基于传统EXE安装程序的MSI文件.我需要支持卸载和升级,并且只希望包装的安装程序在控制面板的"添加/删除"程序中显示一次.

我还希望能够在安装MSI时将命令行参数传递给包装的安装程序.

如果您想使用它或帮助我改进它,您可以在http://www.exemsi.com找到它.

我同意在MSI包中包装可执行安装程序不是理想的解决方案.但是,当你已经拥有exe时,它可以很有意义:-)

  • 神圣的废话是对这种模式的一个很好的描述.它根本没有意义......对不起. (2认同)

And*_*ers 13

不(并且没有计划支持.MSI输出),试试WIX

  • 很高兴把'WiX`放在那里作为替代:) (3认同)