将NSIS脚本构建为MSI包

时间:2009-12-07 07:40:29

标签: windows-installer installation nsis

有没有办法将Nullsoft Installer Script(NSI)设置编译为MSI包而不是EXE?

3 个答案:

答案 0 :(得分:27)

不幸的是,没有。

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

Windows Installer(MSI)创建数据库驱动的事务安装包。正确编写Windows Installer程序包非常强大时,文件会被损坏/删除,并会自动重新安装。 Windows Installer了解UAC并且只在需要时才提升,基本上如果您正在为公司市场创建软件,则需要提供MSI。

查看The Definitive Guide to Windows Installer,了解对MSI的理解。

答案 1 :(得分:17)

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

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

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

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

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

答案 2 :(得分:12)

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