Index: win_installer/installer/src/installer.nsi =================================================================== diff -u -r6bea96a2ac932bc49e6f7dfa37b890d8dc1ce149 -r373004ca450c6c4cc3952edd88e4ce9df9a764a9 --- win_installer/installer/src/installer.nsi (.../installer.nsi) (revision 6bea96a2ac932bc49e6f7dfa37b890d8dc1ce149) +++ win_installer/installer/src/installer.nsi (.../installer.nsi) (revision 373004ca450c6c4cc3952edd88e4ce9df9a764a9) @@ -25,6 +25,8 @@ !include "MUI.nsh" !include "LogicLib.nsh" !include "x64.nsh" +!include "Ports.nsh" + # functions from TextFunc.nsh !insertmacro FileJoin !insertmacro LineFind @@ -216,11 +218,19 @@ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "lams2.ini" FunctionEnd Function PostLAMS2Config - !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_DOMAIN "lams2.ini" "Field 8" "State" - !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PORT "lams2.ini" "Field 9" "State" - !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_LOCALE "lams2.ini" "Field 12" "State" - !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_USER "lams2.ini" "Field 2" "State" - !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PASS "lams2.ini" "Field 5" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_DOMAIN "lams2.ini" "Field 8" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PORT "lams2.ini" "Field 9" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_LOCALE "lams2.ini" "Field 12" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_USER "lams2.ini" "Field 2" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $LAMS_PASS "lams2.ini" "Field 5" "State" + + # check that there's no other app running on that port + + ${If} ${TCPPortOpen} $LAMS_PORT + MessageBox MB_OK "The port $LAMS_PORT is in used by another application. Please choose another one (ie: 8181)" + Abort + ${EndIf} + FunctionEnd Function PreFinal !insertmacro MUI_INSTALLOPTIONS_WRITE "final.ini" "Field 2" "Text" "Click 'Install' to commence installation of LAMS ${VERSION}"