Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,979
    • Issues 4,979
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 469
    • Merge requests 469
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #18104
Closed
Open
Created Apr 26, 2020 by Ben Gamari@bgamari🐢Maintainer

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:

  1. install chocolatey to a temporary directory (see the installation script)
  2. query choco for available GHC versions
  3. prompt the user for which GHC version to install
  4. perform the installation (installing ghc and haskell-dev, to ensure that cabal-install is available and works)
  5. 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.

Edited Apr 26, 2020 by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking