From version 1.5 support for Windows XP was dropped. If you need to install the mosquitto MQTT broker (server) on Windows XP then you will need an older version of mosquitto.
Installing The Mosquitto Broker on Windows
There are two possibilities:
- Quick Install
- Standard Install
Quick Windows Install
The problem with the standard install is that there are certain dependencies that need to be installed before you do the mosquitto install.
This involves installing software and copying files from the install into the Mosquitto install folder.
However, if you have already installed Mosquitto on another windows machine e.g. XP and want to install it on another machine e.g. Windows 10 then you can just copy the directory containing the mosquitto files to the new machine.
I copied my windows XP install (32 bit) onto a windows 10 (64bit) machine and a Windows 7 machine and it worked OK.
I’ve created a zipped directory which I’ve used on Windows 10 and Windows 7.
You can download it below
Mosquitto install files for windows are here.
(Updated to Mosquitto version 1.4.14 on 14-jan-2018).
Just unzip it go to the directory and run the broker manually as covered below
Don’t forget to virus check it let me know if you have any problems with it.
Standard Install On Windows XP -Version 1.4.14
As mentioned earlier the big problem with the Windows Install is that there are lots of dependencies that you also need to install or have installed.
However the advantage is that you can install Mosquitto as a service which starts automatically. This is not important for a test environment.
First you will need to download the Windows install files below
I used the cygwin version (not sure of the exact differences ).
Essentially you will run the install twice.
The first time you run it it will warn you of dependencies.
However it creates the mosquitto directory and copies files to it.
You then need to copy the additional files to the directory before you run the install again. (full list below)
The the second time you run it it should create the service entry and proceed without errors.
There are good detailed step by step install instructions for windows here.
It is important that you install the addition files, and copy them to the mosquitto directory, if you don’t then when you try to start mosquitto you will get an error message complaining about a missing dll.
In the above case it was the cygcrypto-1.0.0.dll.
When you have installed Mosquitto and copied the additional files then this is what the mosquitto directory looks like when finished.
Note 1: above screen shot is missing some files from cygwin as it was installed and the files were in the right path.
Note 2: there is readme-windows.txt file in the mosquitto install directory that you should read
Here is a complete list of additional files that you need:
Starting Mosquitto on Windows
If you have installed Mosquitto using the install .exe and ticked the start as service box then the mosquitto broker starts as a service.
This is what you want in a production environment but for testing you will want to start it manually.
To stop the mosquitto server if it is running as a service. go to control panel>admin tools>services.
You can stop the broker and change the automatic startup settings so it doesn’t automatically start on Windows start up.
Note: On my install (on XP) it wouldn’t start as a service and gave error code 1053. This wasn’t a problem because I wanted to start it manually anyway.
To start the broker manually open a command prompt and go to the mosquitto install directory and type mosquitto.
You can also use various command line switches. Type
To start in verbose mode so that you can see console messages use the -v option:
Testing The Install
To test it is running use command:
- netstat -a
You should see the Mosquitto broker running on port 1883 as shown in the screen shot above.
The Mosquitto.conf File
The configuration file (mosquitto.conf) that comes with the install is completely commented out, and the MQTT broker doesn’t need it.
However when Mosquitto runs as a service it uses this configuration file.
If you enable logging in the mosquitto.conf file then when Windows 10 runs as a service it creates this file with restricted permissions, and locks the file while the broker is running.
If you stop the broker you can change the permissions on the file to access it.
If you run the broker manually then again you will need to stop the broker before you can read the log file.
Mosquitto Client Scripts
The windows install includes the client scripts.
There is a simple subscriber client
and a publisher client
They are useful for some quick tests. See Using The Mosquitto_pub and Mosquitto_sub Client Tools- Examples
- I didn’t get the scripts to work on Windows XP -Error not a vaild win32 application
- On Windows 7 and 10 they gave an error regarding a missing msvcr100.dll file. I found the file on my system and copied it to the Mosquitto directory and they worked OK.
Mosquitto Configuration Tutorials
- Install Mosquitto on Windows
- Install Mosquitto on Linux
- Configuring and Testing MQTT Topic Restrictions
- Configuring Username and Password Authentication
- MQTT TLS Security – Mosquitto Broker Configuration
- Understanding and Configuring Bridging on Mosquitto
- Configure Mosquitto Bridge With SSL Encryption- Examples
Other Related Articles and Resources: