Build NSIS script as a MSI package

2019-01-21 22:39发布

问题:

Is there any way to compile the Nullsoft Installer Script (NSI) setup as a MSI package instead of an EXE?

回答1:

Unfortunately, No.

NSIS lets you create scriptable, procedural installation packages. It's simple, easy to use and has a number of features not present in Windows Installer.

Windows Installer (MSI) creates database driven, transactional installation packages. When written properly a Windows Installer package is very robust, a file gets corrupted/deleted and it will be automatically reinstalled. Windows Installer is aware of UAC and only elevates when required, basically if you're creating software for the corporate market, you will need to provide an MSI.

Check out The Definitive Guide to Windows Installer for a good introduction to understanding MSI.



回答2:

NSIS installers can be wrapped in MSI files using the MSI Wrapper. It is a small tool that I made for wrapping NSIS and Inno Setup installers. It uses WiX to compile the MSI but there is a GUI to help you instead of an XML file.

It was made because I needed a tool for creating MSI files based on traditional EXE installers. I needed support for uninstall and upgrades and only wanted the wrapped installers to show up once in the Add/Remove programs in the control panel.

I also wanted to be able to pass command line parameters to the wrapped installer when the MSI is installed.

If you want to use it or help me improve it, you can find it at http://www.exemsi.com.

I share the opinion that wrapping an executable installer in an MSI package is not the ideal solution. However, when you already have the exe it can make a lot of sense :-)



回答3:

No (And there are no plans to support .MSI output), try WIX