Using Windows Package Manger (Winget) for SWI-Prolog installation

I don’t mind taking the time to see what winget can do for Windows. I don’t plan to explore modifying the build instructions for SWI-Prolog to possibly make an MSI file. I could see that taking me a week or more.

For Macs I can only be a bystander as I don’t have a Mac.

What about Linux systems? appget? (ref)


For everyone

As noted in the original post, the goal is to not only install SWI-Prolog but install SWI-Prolog with some packages and also install VSCode with the extensions and specifically VSC-Prolog.


Interesting side story about WinGet.

Windows 10: Microsoft now credits maker of package manager it ‘copied’ – but offers no apology

I do recall that Keivan Beigi publicly posted his own personal account of the whole ordeal but I can’t find it; this seems to be a news story based on that posting.

Do not take this to mean I am opposed to Microsoft, just passing the story along.


EDIT

Found the personal account by Keivan Beigi.

The Day AppGet Died.


Personal notes

Important

Windows Package Manager and the winget tool are in public preview and may be substantially modified before they are generally available. Microsoft makes no warranties, express or implied, with respect to the information provided here.
(ref)

List of software package management systems (Wikipedia)
Windows Package Manager AKA Winget (Wikipedia)
Windows Package Manager (Documentation)
winget-cli (GitHub) - The source code for the Windows Package Manager Client (aka winget.exe).
winget-pkgs (GitHub) - Contains the manifest files for the Windows Package Manager
Join the Windows Package Manager Insiders Program (ref)

an automated process will validate your manifest file and check to make sure the package is not known to be malicious.
(ref)

That could be a problem as the SWI-Prolog install file is considered malicious by some scanners. (ref)

How to install VSCode with Winget (ref)

Manifest are located at https://github.com/microsoft/winget-pkgs/tree/master/manifests

Manifest

  • Specific versions, e.g. Python (search) (directory)
  • Different types, e.g. OneDrive Insider, Fast ,Slow, Release
  • Multiple entries in a directory, e.g. GitHub
  • Personal contribution, e.g. James Larus
  • Same directory and application name, e.g. LLVM

TODO: Use CPack to create MSI output instead of NSIS. Then using WinGet Windows installation of SWI-Prolog should be easier.
Packaging With CPack — Mastering CMake
windows - How to generate .msi installer with cmake? - Stack Overflow
Use the winget tool to install and manage applications | Microsoft Learn

2 Likes