Today tried using winget to see how it works for installing SWI-Prolog.
C:\Users\Groot>winget search swi-prolog
Name Id Version Source
------------------------------------------------
SWI-Prolog SWI-Prolog.SWI-Prolog 8.4.3 winget
C:\Users\Groot>winget install swi-prolog
Found SWI-Prolog [SWI-Prolog.SWI-Prolog] Version 8.4.3
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://www.swi-prolog.org/download/stable/bin/swipl-8.4.3-1.x64.exe
██████████████████████████████ 12.2 MB / 12.2 MB
Successfully verified installer hash
Starting package install...
Installer failed with exit code: 2
AFAIK the code that sets up NSIS (Nullsoft Scriptable Install System) for SWI-Prolog is in
which is causing Installer failed with exit code: 2
If one downloads SWI-Prolog for Windows, starts NSIS installer and tries to uninstall a currently installed version when prompted they will see the installer failing as noted in the previous post.
Personal Notes
Pack.cmake is used by CMake (ref)