Page MenuHomePhabricator

[CMAKE] Create a windows installer
ClosedPublic

Authored by Fabien on Oct 21 2019, 10:06.

Details

Summary

This diff adds NSIS to the windows package generators, and configure it
to create a windows graphical installer/uninstaller.

The generated installer is very similar to the one from autotools, the
main difference is that this installer asks for licence agreement.

The installed files differ from autotools, which installs a lot of files
in a custom subtree, including documentation on how to build the
software and a lot of things which are unexpected output from a
graphical installer. This one only installs the files from the package,
identical to what is distributed as part of a release.

Depends on D4284.

Test Plan
mkdir buildcmake && cd buildcmake
cmake -GNinja .. -DBUILD_BITCOIN_SEEDER=OFF \
  -DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Win64.cmake
ninja package

Check a bitcoin-abc-<version>-x86_64-w64-mingw32.exe installer is
created.
Run the installer, check all the steps are correct.
After installation run Bitcoin ABC and Bitcoin ABC (testnet) from
the start menu folder.
Uninstall the software using then windows settings panel and check all
the files are deleted.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cmake_nsis
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 7844
Build 13709: Bitcoin ABC Buildbot (legacy)
Build 13708: arc lint + arc unit

Event Timeline

I trust this works, because I have no way èl check.

This revision is now accepted and ready to land.Oct 23 2019, 16:11
jasonbcox added a subscriber: jasonbcox.

Tested the installer/uninstaller on a Win 10 (64bit) machine.

This revision was automatically updated to reflect the committed changes.