Linux users have access to package managers such as apt while Microsoft has only in the last few years been developing winget.
Since my machines are on the Windows Insider Program from time to time they get early releases of software such as winget. As such winget is on my machines but I don’t know if it is now installed and active by default for those doing regular Windows updates.
Can those who do just regular Windows updates let me know if it is on Windows 10 and separately if it is on Windows 11. Just open a command prompt and enter
winget
which should show the help if winget is installed.
If it is now part of standard Windows then it would be worth consideration into allowing SWI-Prolog to be installed this way on Windows.
Here are some examples related to Prolog that are currently installable via winget.
It appears someone has made the latest stable version of SWI-Prolog available via winget.
C:\Users\Eric>winget search SWI-Prolog
Name Id Version Source
------------------------------------------------
SWI-Prolog SWI-Prolog.SWI-Prolog 8.4.3 winget
C:\Users\groot>winget search logtalk
Name Id Version Source
---------------------------------------
Logtalk Logtalk.Logtalk 3.56.0 winget
C:\Users\groot>winget search erlangOTP
Name Id Version Source
-------------------------------------------
Erlang OTP Erlang.ErlangOTP 25.0.2 winget
C:\Users\groot>winget search constraint
Name Id Version Source
-----------------------------------------------------------------------------------------------
ECLiPSe Constraint Logic Programming System Version 7.0 Coninfer.ECLiPSeCLP.7.0 7.0 #63 winget
The keyword programming catches all of them and more.
Click triangle to exapnd
C:\Users\groot>winget search programming
Name Id Version Match Source
--------------------------------------------------------------------------------------------------------------------
Programming! 9WZDNCRDQQF1 Unknown msstore
C Programming 9WZDNCRDGXLD Unknown msstore
Java Programming 9NHVRHCM59ZX Unknown msstore
C Programming by WAGmob 9WZDNCRDN6CC Unknown msstore
Programming Languages by WAGmob 9WZDNCRDN3MJ Unknown msstore
Learn Perl Programming-simpleNe… 9WZDNCRDN639 Unknown msstore
Programming Small Basic 9PPJCBMZ3SDP Unknown msstore
Learn Scratch Programming via V… 9NBLGGH110B6 Unknown msstore
Programming 9NBLGGH5WNZM Unknown msstore
Windows 8 Programming by WAGmob 9WZDNCRDHR32 Unknown msstore
Programming Zemi 9NTGB52KD2LG Unknown msstore
Learn COBOL Programming by GoLe… 9WZDNCRDHNMR Unknown msstore
UNIX and Shell Programming by W… 9WZDNCRDHQD4 Unknown msstore
Introduction to Python Programm… 9NBLGGH6FLKH Unknown msstore
C Programming Tutorial 9WZDNCRDH1MK Unknown msstore
Zeus Lite Xidicone.ZeusLite 3.97z Tag: programming winget
Zeus IDE Xidicone.ZeusIDE 3.98y Tag: programming winget
Stackless Python stackless.stackless 3.7.9150.0 Tag: programming winget
Scala Programming Language Dist… Scala.Scala.2 2.13.8.400 Tag: programming winget
sbt sbt.sbt 1.6.2 Tag: programming winget
Ruby RubyInstallerTeam.Ruby 3.1.2-1 Tag: programming winget
Nelson NelsonNumericalSoftware.Nelson 0.6.6.2086 Tag: programming winget
Logtalk Logtalk.Logtalk 3.56.0 Tag: programming winget
KDevelop KDE.kdevelop 5.6.2 Tag: programming winget
PyCharm Professional Edition (E… JetBrains.PyCharm.Professional.… 222.3244.2 Tag: programming winget
PyCharm Professional Edition JetBrains.PyCharm.Professional 221.5921.27 Tag: programming winget
PyCharm Community Edition JetBrains.PyCharm.Community 221.5921.27 Tag: programming winget
GoLand (EAP) JetBrains.GoLand.EarlyAccess 222.3153.7 Tag: programming winget
Colobot: Gold Edition Epsitec.Colobot alpha-0.1.12 Tag: programming winget
NoteHighlight2016 elvirbrk.notehighlight2016 3.7 Tag: programming winget
字节跳动开发者工具 ByteDance.BytedanceMiniappIDE 3.2.7-1 Tag: programming winget
BlueJ BlueJTeam.BlueJ 5.0.2 Tag: programming winget
小程序开发者工具 Alibaba.MiniProgramStudio 3.0.2 Tag: programming winget
BPMN-RPA Studio 1ic.BPMN-RPAstudio 21.8.11 Tag: programming winget
SWI-Prolog SWI-Prolog.SWI-Prolog 8.4.3 Tag: programming winget
Lapce Lapce.Lapce 0.1.2 Tag: programming winget
ECLiPSe Constraint Logic Progra… Coninfer.ECLiPSeCLP.7.0 7.0 #63 Tag: programming winget
Go Programming Language GoLang.Go 1.18.3 winget
Visual D - Visual Studio Integr… Dlang.VisualD 1.3.0 winget
winpython-pypy winpython.winpython-pypy 3.8.12.2 Tag: programming language winget
winpython-dot-pypy winpython.winpython-dot-pypy 3.8.12.2 Tag: programming language winget
winpython-dot winpython.winpython-dot 3.10.4.0 Tag: programming language winget
winpython winpython.winpython 3.10.4.0 Tag: programming language winget
Racket Racket.Racket 8.3 Tag: programming-language winget
Python 3 Python.Python.3 3.10.5150.0 Tag: programming-language winget
Python 2 Python.Python.2 2.7.18150 Tag: programming-language winget
Pure Data MillerPuckette.PureData 0.51-4 Tag: visual-programming winget
Julia Julialang.Julia 1.7.3 Tag: programming-language winget
PyCharm Community Edition (EAP) JetBrains.PyCharm.Community.EAP 222.3244.2 Tag: programming ide winget
JetBrains MPS JetBrains.MPS MPS-213.7172.958 Tag: metaprogramming winget
JetBrains MPS (EAP) JetBrains.MPS.EAP 213.6461.785 Tag: metaprogramming winget
IntelliJ IDEA Ultimate Edition … JetBrains.IntelliJIDEA.Ultimate… 222.3244.4 Tag: programming ide winget
IntelliJ IDEA Ultimate Edition JetBrains.IntelliJIDEA.Ultimate 221.5921.22 Tag: programming-ide winget
IntelliJ IDEA Community Edition… JetBrains.IntelliJIDEA.Communit… 222.3244.4 Tag: programming ide winget
IntelliJ IDEA Community Edition JetBrains.IntelliJIDEA.Community 221.5921.22 Tag: programming-ide winget
Erlang OTP Erlang.ErlangOTP 25.0.2 Tag: programming-language winget
RenderDoc BaldurKarlsson.RenderDoc 1.19.0 Tag: graphics-programming winget
Spice ChilliBits.Spice 0.8.5 Tag: programming-language winget
Well, I just installed a completely fresh Windows 11 home in a VM and there is no winget, despite Microsoft claiming it is standard for Windows 11. According to the docs, it surely is an add on for Windows 10. I’ve installed in and used it to install git. Works fine. Might be nice to have the development versions in there as well. Anyone knows how to get that done?
Give me a few minutes and I will edit this with the details. Last time I looked it required creating a several line YAML file, submitting it as a pull to a Git repository and accepting an agreement that you have the right to submit, it is not malicious, and so on.
EDIT
Way back when this was in beta I played around creating some of the manifest (YAML) and I remember that the easiest way to get started was to look at examples from others. I also remember that multiple manifest files was important. Never submitted any but wanted to understand the process if an when needed.
Here are the manifest that have been created for SWI-Prolog.
Vedant is the one to thank for the current manifest for SWI-Prolog.