35

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

4

3 回答 3

30

很不幸的是,不行。

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

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

查看The Definitive Guide to Windows Installer了解 MSI 的良好介绍。

于 2009-12-07T21:33:21.980 回答
24

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

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

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

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

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

于 2012-11-22T06:46:13.827 回答
14

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

于 2009-12-07T20:37:27.773 回答