[cmake-developers] [ANNOUNCE] CMake 3.5.0-rc1 now ready for testing!

James Johnston JamesJ at motionview3d.com
Thu Feb 4 11:12:39 EST 2016


> -----Original Message-----
> From: cmake-developers [mailto:cmake-developers-bounces at cmake.org]
> On Behalf Of Brad King
> Sent: Wednesday, February 03, 2016 21:17
> To: Eric Wing; Robert Maynard
> Cc: CMake Developers
> Subject: Re: [cmake-developers] [ANNOUNCE] CMake 3.5.0-rc1 now ready
> for testing!
> 
> On 02/03/2016 03:48 PM, Eric Wing wrote:
> > Hi, I'm curious about this. Would you explain the difference between
> > the .msi and the installer?
> 
> The .exe was a NSIS-generated installer tool.  There were several bugs in
it
> caused by problems with NSIS, but worst is that it could wipe out long
PATH
> environment variables.  The .msi is more like a .deb or .rpm but that is
> managed by the Windows Installer Service.

There's several other reasons as well.  Not that I had anything to do with
CMake moving to WiX, but I'm happy to see they did:

* Windows Installer is transactional.  If there's an error or other problem
during installation, MSI will roll back the installation - it "just works"
for the most part.  Whereas with NSIS, offering something as simple as a
"Cancel" button is apparently quite difficult:
http://nsis.sourceforge.net/InstFiles_Cancel_-_Allowing_a_user_to_cancel_ins
tallation_during_InstFiles

* Self-healing functionality: if the application installation is damaged,
MSI can automatically repair it when launching the application.  If you
like, you can have it go as far as verify checksums of each file.

* MSI is declarative: standardized database schema defines what to install
and where - not how to install it.  So installs, uninstalls, repairs,
recovery from a failed transaction, etc. "just work".  The standardized
behavior could also help system administrators to customize the installation
with existing tools.

* MSI packages can be deployed with Active Directory, and non-administrator
users can elect to install them while the installation still runs at an
elevated level (or the installation can be forced when the system starts or
when the user logs in).

Nice discussion here: http://serverfault.com/a/274609

Maybe now that CPack supports WiX, more open source projects will start to
use it instead of NSIS. :)

I only hope they set up the MSIs to support side-by-side installations of
multiple CMake versions.  I have yet to find time to see if this is the
case.

Best regards,

James Johnston



More information about the cmake-developers mailing list