More user-friendly Windows packaging
There was recently quite a bit of discussion surrounding GHC's Windows packaging on haskell-cafe. The digested version of the discussion is:
- we are perpetually short of contributors to test and maintain our Windows support
- Haskell Platform used to ship a NSIS-based installer
- the old NSIS installer, while somewhat functional, was quite quirky, would break easily, and was difficult to maintain
- in recent years there has been a push to reduce the maintenance overhead (and size) of the Haskell Platform
- consequently, the haskell.org download page points Windows users to the Chocolatey package manager to install GHC (which installs a distribution packaged by Tamar)
- it turns out that the NSIS installer was more convenient for some users (particularly those lacking administrative privileges and those unfamiliar with PowerShell)
I spoke at length with Gershom, Tamar, and others about this. We generally agree that breathing life back into the NSIS installer is neither practical nor desirable. However, the current Chocolatey installer leaves much to be desired. Thankfully, the chocolatey packaging is all relatively straightforward PowerShell scripting. We could investigate providing a generic MSI installer which piggy-backs on Chocolatey:
- install chocolatey to a temporary directory (see the installation script)
- query
choco
for available GHC versions - prompt the user for which GHC version to install
- perform the installation (installing
ghc
andhaskell-dev
, to ensure thatcabal-install
is available and works) - remove the temporary chocolatey installation
This should leave us with a reasonably straightforward installation story that can work.
WiX is apparently the recommended method for building MSI installers.