3 ms·
The mingw cross toolchain works surprisingly well; pesign and msitools (living under the GNOME umbrella) can also be used to produce UI-less .msi installers thr
by bonzini 9y ago
The mingw cross toolchain works surprisingly well; pesign and msitools (living under the GNOME umbrella) can also be used to produce UI-less .msi installers through a (very) minimal Linux-native version of Wix called Wixl.
(I was one of the two original authors of msitools, taking care of porting Wine's msi DLLs to a POSIX environment. The other guy took care of making the API less Windows-like, ported .cab file support and wrote Wixl).
- SXX 9y agoAnd if project using CMake then it's even better with MXE [1]. It's basically let you build toolchain with no effort by typing few commands and while I didn't test Wix it's perfectly capable of creating installer with CPack / NSIS. Another option is to use AppVeyor CI + Microsoft's Vcpkg [2], it's also integrated with CMake and require no manual setup. [1] http://mxe.cc/ http://mxe.cc/ [2] https://github.com/Microsoft/vcpkg https://github.com/Microsoft/vcpkg
- bonzini 9y agoNSIS (imperative) is much inferior to MSI (declarative). MSI tracks each file's users and is able to automatically uninstall packages as well as rollback installs that fail in the mid of a transaction.
- SXX 9y agoThanks for the information. Now I have a reason to check Wix. Though so far NSIS worked well enough because we efficiently only have one component, all libraries needed just bundled inside and it's just 15-50MB in size.
- garaetjjte 9y agoAnd copies every installer somewhere into system directories... (and if you delete it, you cannot uninstall it without pointing to installer file)