Windows installer seems to be displaying wrong version to be uninstalled

Currently installed version

 SWI-Prolog (threaded, 64 bits, version 8.5.0-49-g2f46def0c)

Installing older version


Install wizard shows


I’m not trying to find these. :no_mouth:

I wonder which files we are talking about. 8.5.0-49-g2f46def0c suggests a nightly build? I tried both downloading and installing 8.5.0 release and the nightly. Both looked fine. Where did you download from? What is the file size (exact) or better, checksum? Anyone else?

This is where I downloaded the stable version 8.0

Index of /download/stable/bin

I will try to recreate again with more detailed steps, give me a few minutes.

These steps were taken to uninstall the current version and use a somewhat older stable version, i.e. 8.0.0, to check leash(-all).

Current version installed:
SWI-Prolog (threaded, 64 bits, version 8.5.0-49-g2f46def0c)

To find an older stable version there is a link to the directory in

Install SWI-Prolog development version on Windows 10

after the install instructions.

For older versions there are
HTML pages
current stable version
older stable versions

and directories
Index of /download/stable/bin
Index of /download/devel/bin

  1. Index of /download/stable/bin was clicked.

Then searched for 8.0 as a 64-bit executable and found

swipl-8.0.0-1.x64.exe Mon Jan 14 02:31:08 2019 12,087,703

  1. Download swipl-8.0.0-1.x64.exe
  2. Doubled clicked on swipl-8.0.0-1.x64.exe

MS dialog appeared

4. Clicked Install anyway

User Account Control dialog appeared
5. Clicked Yes

Then the dialog with the wrong version appeared.


Note. There are two versions noted in the dialog

  1. The one at the top that is correct. SWI-Prolog 8.0.0 Setup
  2. The one in the message that is incorrect. SWI-Prolog 8.0.0 is already installed.

As noted at the start, only 8.5.0-49-g2f46def0c is installed.

I don’t expect this to be fixed, was just noting in case others see it. :slightly_smiling_face:

Ok. So the bug is that the installer claims the currently installed version is the version the installer installs rather than the actual version that is installed. If there is no easy fix we probably simply rephrase that as “SWI-Prolog is already installed”

1 Like

For those wanting to see the patch.

This also helps to locate the information used with the Windows installer

NSIS (Nullsoft Scriptable Install System))

The price is that the installer no longer tells which version it will install. You can now only tell that from the installer’s file name (and of course by running swipl after the installation).

That could be changed, but doing so requires copying and editing the NSIS installer build template from the CMake distribution to Prolog and editing it. That seems asking for trouble when CMake makes changes to the packaging code.


The change you made was what I expected.

The reason I added the reply with links into the code was that yesterday I tried to locate that code and could not. Searching for is already installed. did not locate it.

A while ago I hunted down that the installer for Windows was NSIS but forgot the name and could not find the topic/reply with that information either. Some of the information used with SWI-Prolog is well hidden in the code, thus this is like a bread crumb to help me and others locate it. :slightly_smiling_face: