Skip to content

Commit

Permalink
Installer and readme updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
ralight committed Aug 16, 2018
1 parent 4ccc68d commit cbd7a70
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 104 deletions.
13 changes: 8 additions & 5 deletions about.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,14 @@ <h3>Third Party Content</h3>
did not receive this Content directly from the Eclipse Foundation, the following is provided
for informational purposes only, and you should look to the Redistributor's license for
terms and conditions of use.</p>
<p><em>
<strong>None</strong> <br><br>
<br><br>
</em></p>


<h4>libwebsockets 2.4.2</h4>
<p>This project makes use of the libwebsockets library.</p>
<p>The use of libwebsockets is based on the terms and conditions of the
LGPL 2.1 with some specific exceptions.
<a href="https://github.com/warmcat/libwebsockets/blob/v2.4.2/LICENSE">https://github.com/warmcat/libwebsockets/blob/v2.4.2/LICENSE</a></p>
<p>When libwebsockets is distributed with the project, it is being used
subject to the Static Linking Exception (Section 2) of the License. As
a result, the content is not subject to the LGPL 2.1.</p>

</body></html>
34 changes: 9 additions & 25 deletions installer/mosquitto.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
!include "WinMessages.nsh"
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'

Name "mosquitto"
Name "Eclipse Mosquitto"
!define VERSION 1.5.0
OutFile "mosquitto-${VERSION}-install-windows-x86.exe"

Expand Down Expand Up @@ -55,8 +55,8 @@ Section "Files" SecInstall
File "..\readme.md"
File "..\readme-windows.txt"
;File "C:\pthreads\Pre-built.2\dll\x86\pthreadVC2.dll"
;File "C:\OpenSSL-Win32\libeay32.dll"
;File "C:\OpenSSL-Win32\ssleay32.dll"
;File "C:\OpenSSL-Win32\bin\libssl_1-1.dll"
;File "C:\OpenSSL-Win32\bin\libcrypto_1-1.dll"
File "..\edl-v10"
File "..\epl-v10"

Expand All @@ -68,11 +68,11 @@ Section "Files" SecInstall
File "..\src\mosquitto_plugin.h"

WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "DisplayName" "Mosquitto MQTT broker"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "DisplayName" "Eclipse Mosquitto MQTT broker"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "HelpLink" "http:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "URLInfoAbout" "http:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "HelpLink" "https:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "URLInfoAbout" "https:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "DisplayVersion" "${VERSION}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "NoModify" "1"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto" "NoRepair" "1"
Expand All @@ -81,10 +81,6 @@ Section "Files" SecInstall
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
SectionEnd

Section "Service" SecService
ExecWait '"$INSTDIR\mosquitto.exe" install'
SectionEnd

Section "Uninstall"
ExecWait '"$INSTDIR\mosquitto.exe" uninstall'
Delete "$INSTDIR\mosquitto.exe"
Expand All @@ -100,8 +96,8 @@ Section "Uninstall"
Delete "$INSTDIR\readme.txt"
Delete "$INSTDIR\readme-windows.txt"
;Delete "$INSTDIR\pthreadVC2.dll"
;Delete "$INSTDIR\libeay32.dll"
;Delete "$INSTDIR\ssleay32.dll"
;Delete "$INSTDIR\libssl_1-1.dll"
;Delete "$INSTDIR\libcrypto_1-1.dll"
Delete "$INSTDIR\edl-v10"
Delete "$INSTDIR\epl-v10"

Expand All @@ -120,10 +116,8 @@ Section "Uninstall"
SectionEnd

LangString DESC_SecInstall ${LANG_ENGLISH} "The main installation."
LangString DESC_SecService ${LANG_ENGLISH} "Install mosquitto as a Windows service?"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(DESC_SecInstall)
!insertmacro MUI_DESCRIPTION_TEXT ${SecService} $(DESC_SecService)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Var Dialog
Expand All @@ -138,16 +132,11 @@ Function DependencyPage
Abort
${EndIf}

${NSD_CreateLabel} 0 0 100% 12u "OpenSSL - install 'Win32 OpenSSL vXXXXX Light' then copy dlls to the mosquitto directory"
${NSD_CreateLabel} 0 0 100% 12u "OpenSSL - install 'Win32 OpenSSL v1.1.0* Light' then copy libssl_1-1.dll and libcrypto_1-1.dll to the mosquitto directory"
${NSD_CreateLink} 13u 13u 100% 12u "http:https://slproweb.com/products/Win32OpenSSL.html"
Pop $OSSLLink
${NSD_OnClick} $OSSLLink OnClick_OSSL

${NSD_CreateLabel} 0 26u 100% 12u "pthreads - copy 'pthreadVC2.dll' to the mosquitto directory"
${NSD_CreateLink} 13u 39u 100% 12u "ftp:https://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x86/"
Pop $PTHLink
${NSD_OnClick} $PTHLink OnClick_PTH

!insertmacro MUI_HEADER_TEXT_PAGE "Dependencies" "This page lists packages that must be installed if not already present"
nsDialogs::Show
FunctionEnd
Expand All @@ -156,8 +145,3 @@ Function OnClick_OSSL
Pop $0
ExecShell "open" "http:https://slproweb.com/products/Win32OpenSSL.html"
FunctionEnd

Function OnClick_PTH
Pop $0
ExecShell "open" "ftp:https://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x86/"
FunctionEnd
45 changes: 10 additions & 35 deletions installer/mosquitto64.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,12 @@
!include "WinMessages.nsh"
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'

Name "mosquitto"
Name "Eclipse Mosquitto"
!define VERSION 1.5.0
OutFile "mosquitto-${VERSION}-install-windows-x64.exe"

!include "x64.nsh"
# Default install location, for 32-bit files
InstallDir "$PROGRAMFILES\mosquitto"

# Override install and registry locations if this is a 64-bit install.
function .onInit
${If} ${ARCH} == "x64"
SetRegView 64
StrCpy $INSTDIR "$PROGRAMFILES64\mosquitto"
${EndIf}
functionEnd
InstallDir "$PROGRAMFILES64\mosquitto"

;--------------------------------
; Installer pages
Expand Down Expand Up @@ -65,8 +56,8 @@ Section "Files" SecInstall
File "..\readme.md"
File "..\readme-windows.txt"
;File "C:\pthreads\Pre-built.2\dll\x64\pthreadVC2.dll"
;File "C:\OpenSSL-Win64\libeay32.dll"
;File "C:\OpenSSL-Win64\ssleay32.dll"
;File "C:\OpenSSL-Win64\bin\libssl_1-1-x64.dll"
;File "C:\OpenSSL-Win64\bin\libcrypto_1-1-x64.dll"
File "..\edl-v10"
File "..\epl-v10"

Expand All @@ -78,11 +69,11 @@ Section "Files" SecInstall
File "..\src\mosquitto_plugin.h"

WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "DisplayName" "Mosquitto MQTT broker (64 bit)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "DisplayName" "Eclipse Mosquitto MQTT broker (64 bit)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "HelpLink" "http:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "URLInfoAbout" "http:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "HelpLink" "https:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "URLInfoAbout" "https:https://mosquitto.org/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "DisplayVersion" "${VERSION}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "NoModify" "1"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mosquitto64" "NoRepair" "1"
Expand All @@ -91,10 +82,6 @@ Section "Files" SecInstall
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
SectionEnd

Section "Service" SecService
ExecWait '"$INSTDIR\mosquitto.exe" install'
SectionEnd

Section "Uninstall"
ExecWait '"$INSTDIR\mosquitto.exe" uninstall'
Delete "$INSTDIR\mosquitto.exe"
Expand All @@ -110,8 +97,8 @@ Section "Uninstall"
Delete "$INSTDIR\readme.txt"
Delete "$INSTDIR\readme-windows.txt"
;Delete "$INSTDIR\pthreadVC2.dll"
;Delete "$INSTDIR\libeay32.dll"
;Delete "$INSTDIR\ssleay32.dll"
;Delete "$INSTDIR\libssl_1-1-x64.dll"
;Delete "$INSTDIR\libcrypto_1-1-x64.dll"
Delete "$INSTDIR\edl-v10"
Delete "$INSTDIR\epl-v10"

Expand All @@ -130,10 +117,8 @@ Section "Uninstall"
SectionEnd

LangString DESC_SecInstall ${LANG_ENGLISH} "The main installation."
LangString DESC_SecService ${LANG_ENGLISH} "Install mosquitto as a Windows service?"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(DESC_SecInstall)
!insertmacro MUI_DESCRIPTION_TEXT ${SecService} $(DESC_SecService)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Var Dialog
Expand All @@ -148,16 +133,11 @@ Function DependencyPage
Abort
${EndIf}

${NSD_CreateLabel} 0 0 100% 12u "OpenSSL - install 'Win64 OpenSSL vXXXXX Light' then copy dlls to the mosquitto directory"
${NSD_CreateLabel} 0 0 100% 12u "OpenSSL - install 'Win64 OpenSSL v1.1.0* Light' then copy libssl_1-1-x64.dll and libcrypto_1-1-x64.dll to the mosquitto directory"
${NSD_CreateLink} 13u 13u 100% 12u "http:https://slproweb.com/products/Win32OpenSSL.html"
Pop $OSSLLink
${NSD_OnClick} $OSSLLink OnClick_OSSL

${NSD_CreateLabel} 0 26u 100% 12u "pthreads - copy 'pthreadVC2.dll' to the mosquitto directory"
${NSD_CreateLink} 13u 39u 100% 12u "ftp:https://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x64/"
Pop $PTHLink
${NSD_OnClick} $PTHLink OnClick_PTH

!insertmacro MUI_HEADER_TEXT_PAGE "Dependencies" "This page lists packages that must be installed if not already present"
nsDialogs::Show
FunctionEnd
Expand All @@ -166,8 +146,3 @@ Function OnClick_OSSL
Pop $0
ExecShell "open" "http:https://slproweb.com/products/Win32OpenSSL.html"
FunctionEnd

Function OnClick_PTH
Pop $0
ExecShell "open" "ftp:https://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x64/"
FunctionEnd
71 changes: 32 additions & 39 deletions readme-windows.txt
Original file line number Diff line number Diff line change
@@ -1,70 +1,63 @@
Mosquitto for Windows
=====================

Mosquitto for Windows comes in two flavours, win32 or Cygwin. The win32 version is only
supported on Windows Vista or later.
Mosquitto for Windows comes in 32-bit and 64-bit flavours.

In all cases, the dependencies are not provided in this installer and must be installed
separately in the case that they are not already available.
In both cases, the dependencies are not provided in this installer and must be
installed separately in the case that they are not already available.


Capabilities
------------

Some versions of Windows have limitations on the number of concurrent
connections. Non-server versions have been reported to be limited to
approximately 1024 connections.
connections, set at approximately 2048 connections depending on the version of
Windows you are using.


Websockets
----------

The broker executables provided in the installers do not have Websockets support enabled.
If you wish to have a version of the broker with Websockets support, you will need to compile
libwebsockets version v1.7 onwards because no Windows binaries are provided.
The broker executables provided in the installers have Websockets support
through a statically compiled version of libwebsockets and is being distributed
under the Static Linking Exception (Section 2) of the License. As a result, the
content is not subject to the LGPL 2.1.

Please note that on Windows, libwebsockets limits connections to a maximum of 64 clients.

Library Thread Support
----------------------

Dependencies - win32
--------------------

* OpenSSL
Link: http:https://slproweb.com/products/Win32OpenSSL.html
Install "Win32 OpenSSL <version>"
Required DLLs: libeay32.dll ssleay32.dll
* pthreads
Link: ftp:https://sourceware.org/pub/pthreads-win32
Install "pthreads-w32-<version>-release.zip
Required DLLs: pthreadVC2.dll

Please ensure that the required DLLs are on the system path, or are in the same directory as
the mosquitto executable.
libmosquitto on Windows is currently compiled without thread support, so
neither of mosquitto_loop_start() nor "mosquitto_pub -l" are available.

A better solution that the old pthreads-win32 is being looked into, so support
will return in the future. If you need thread support, the code still supports
it just fine. Support has been dropped to simplify installation.

Dependencies - Cygwin
---------------------
Dependencies
------------

* OpenSSL
Link: http:https://slproweb.com/products/Win32OpenSSL.html
Install "Win32 OpenSSL <version>"
* pthreads
Link: ftp:https://sourceware.org/pub/pthreads-win32
Install "pthreads-w32-<version>-release.zip
* Cygwin
Link: https://www.cygwin.com/setup-x86.exe
Required packages: libgcc1, openssl, zlib0
Install "Win32 OpenSSL 1.1.0* Light" or "Win64 OpenSSL 1.1.0* Light"
Required DLLs: libssl-1_1.dll, libcrypto-1_1.dll or libssl-1_1-x64.dll, libcrypto-1_1-x64.dll

Please ensure that the required DLLs are on the system path, or are in the same directory as
the mosquitto executable - usually C:\Program Files (x86)\mosquitto or C:\Program Files\mosquitto.

Windows Service
---------------

If all dependencies are installed prior to the installer being run, the broker can be
installed as a Windows service.

You can start/stop it from
the control panel as well as running it as a normal
If you wish, mosquitto can be installed as a Windows service so you can
start/stop it from the control panel as well as running it as a normal
executable.

When running as a service, the configuration in mosquitto.conf in the
installation directory is used so modify this to your needs.
When running as a service, the configuration file used is mosquitto.conf in the
directory that you installed to.

If you want to install/uninstall mosquitto as a Windows service run from the
command line as follows:

C:\Program Files\mosquitto\mosquitto install
C:\Program Files\mosquitto\mosquitto uninstall

0 comments on commit cbd7a70

Please sign in to comment.