diff --git a/win32/CheckReqs.ini b/win32/CheckReqs.ini deleted file mode 100644 index 35875f82d..000000000 --- a/win32/CheckReqs.ini +++ /dev/null @@ -1,20 +0,0 @@ -[Settings] -NumFields=2 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=70 -Text="Erlang OTP R10B-7 (version 5.4.9) or newer is required to install Ejabberd.\r\n\r\nIt is not found on your computer.\r\n\r\nPlease install Erlang OTP R10B-7 or newer before installing Ejabberd.\r\n\r\nIts installer can be downloaded from" - -[Field 2] -Type=link -Left=0 -Right=-1 -Top=74 -Bottom=88 -State=http://www.erlang.org/download.html -Text=http://www.erlang.org/download.html - diff --git a/win32/CheckReqs1.ini b/win32/CheckReqs1.ini deleted file mode 100644 index 76b8a9009..000000000 --- a/win32/CheckReqs1.ini +++ /dev/null @@ -1,28 +0,0 @@ -[Settings] -NumFields=3 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=70 -Text="OpenSLL 0.9.7i or newer is not found on your computer.\r\n\r\nTo use SSL and TLS encryption you need an SSL certificate. You can create a selfsigned certificate with OpenSSL.\r\n\r\nOpenSLL installer can be downloaded from" - -[Field 2] -Type=link -Left=0 -Right=-1 -Top=74 -Bottom=88 -State=http://www.slproweb.com/products/Win32OpenSSL.html -Text=http://www.slproweb.com/products/Win32OpenSSL.html - -[Field 3] -Type=label -Left=0 -Right=-1 -Top=93 -Bottom=-10 -Text="If you want to continue installing Ejabberd anyway, click Next." - diff --git a/win32/CheckReqs1H.ini b/win32/CheckReqs1H.ini deleted file mode 100644 index 36076640d..000000000 --- a/win32/CheckReqs1H.ini +++ /dev/null @@ -1,29 +0,0 @@ -[Settings] -NumFields=3 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=70 -Text="OpenSLL 0.9.7i or newer is not found on your computer.\r\n\r\nTo use SSL and TLS encryption you need an SSL certificate. You can create a selfsigned certificate with OpenSSL.\r\n\r\nOpenSLL installer can be downloaded from" - -[Field 2] -Type=link -Left=0 -Right=-1 -Top=74 -Bottom=88 -State=http://www.slproweb.com/products/Win32OpenSSL.html -Text=http://www.slproweb.com/products/Win32OpenSSL.html - -[Field 3] -Type=checkbox -Left=0 -Right=-1 -Top=93 -Bottom=105 -Text="I want to continue installing Ejabberd anyway" -State=0 -Flags=NOTIFY diff --git a/win32/CheckService.ini b/win32/CheckService.ini deleted file mode 100644 index 764832469..000000000 --- a/win32/CheckService.ini +++ /dev/null @@ -1,19 +0,0 @@ -[Settings] -NumFields=2 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=50 -Text="You are installing Ejabberd as Administrator.\r\n\r\nEjabberd will be installed as a Windows service." - -[Field 2] -Type=checkbox -Left=0 -Right=-1 -Top=50 -Bottom=62 -Text="Configure ejabberd service to start automatically" -State=1 diff --git a/win32/CheckUser.ini b/win32/CheckUser.ini deleted file mode 100644 index 3352d69d2..000000000 --- a/win32/CheckUser.ini +++ /dev/null @@ -1,11 +0,0 @@ -[Settings] -NumFields=1 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=-10 -Text="Administrator privileges are recommended for Ejabberd install.\r\n\r\nOtherwise installing Ejabberd as a service will be impossible.\r\n\r\nIf you want to continue installing Ejabberd anyway, click Next." - diff --git a/win32/CheckUserH.ini b/win32/CheckUserH.ini deleted file mode 100644 index 741bada22..000000000 --- a/win32/CheckUserH.ini +++ /dev/null @@ -1,20 +0,0 @@ -[Settings] -NumFields=2 - -[Field 1] -Type=label -Left=0 -Right=-1 -Top=10 -Bottom=50 -Text="Administrator privileges are recommended for Ejabberd install.\r\n\r\nOtherwise installing Ejabberd as a service will be impossible." - -[Field 2] -Type=checkbox -Left=0 -Right=-1 -Top=50 -Bottom=62 -Text="I want to continue installing Ejabberd anyway" -State=0 -Flags=NOTIFY diff --git a/win32/ejabberd.cfg b/win32/ejabberd.cfg deleted file mode 100644 index a42b849d5..000000000 --- a/win32/ejabberd.cfg +++ /dev/null @@ -1,166 +0,0 @@ -% $Id$ - -%override_acls. - - -% Users that have admin access. Add line like one of the following after you -% will be successfully registered on server to get admin access: -%{acl, admin, {user, "aleksey"}}. -%{acl, admin, {user, "ermine"}}. - -% Blocked users: -%{acl, blocked, {user, "test"}}. - -% Local users: -{acl, local, {user_regexp, ""}}. - -% Another examples of ACLs: -%{acl, jabberorg, {server, "jabber.org"}}. -%{acl, aleksey, {user, "aleksey", "jabber.ru"}}. -%{acl, test, {user_regexp, "^test"}}. -%{acl, test, {user_glob, "test*"}}. - - -% Only admins can use configuration interface: -{access, configure, [{allow, admin}]}. - -% Every username can be registered via in-band registration: -{access, register, [{allow, all}]}. - -% After successful registration user will get message with following subject -% and body: -{welcome_message, - {"Welcome!", - "Welcome to Jabber Service. " - "For information about Jabber visit http://jabber.org"}}. -% Replace them with 'none' if you don't want to send such message: -%{welcome_message, none}. - -% List of people who will get notifications about registered users -%{registration_watchers, ["admin1@localhost", -% "admin2@localhost"]}. - -% Only admins can send announcement messages: -{access, announce, [{allow, admin}]}. - - -% Only non-blocked users can use c2s connections: -{access, c2s, [{deny, blocked}, - {allow, all}]}. - -% Set shaper with name "normal" to limit traffic speed to 1000B/s -{shaper, normal, {maxrate, 1000}}. - -% Set shaper with name "fast" to limit traffic speed to 50000B/s -{shaper, fast, {maxrate, 50000}}. - -% For all users except admins used "normal" shaper -{access, c2s_shaper, [{none, admin}, - {normal, all}]}. - -% For all S2S connections used "fast" shaper -{access, s2s_shaper, [{fast, all}]}. - -% Admins of this server are also admins of MUC service: -{access, muc_admin, [{allow, admin}]}. - -% All users are allowed to use MUC service: -{access, muc, [{allow, all}]}. - -% This rule allows access only for local users: -{access, local, [{allow, local}]}. - - -% Authentification method. If you want to use internal user base, then use -% this line: -{auth_method, internal}. - -% For LDAP authentification use these lines instead of above one: -%{auth_method, ldap}. -%{ldap_servers, ["localhost"]}. % List of LDAP servers -%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID -%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory -%{ldap_rootdn, "dc=example,dc=com"}. % LDAP manager -%{ldap_password, "******"}. % Password to LDAP manager - -% For authentification via external script use the following: -%{auth_method, external}. -%{extauth_program, "/path/to/authentification/script"}. - -% For authentification via ODBC use the following: -%{auth_method, odbc}. -%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}. - - -% Host name(s): -{hosts, ["localhost"]}. - -% Default language: -{language, "en"}. - -% Listened ports: -{listen, - [ - {5222, ejabberd_c2s, [{access, c2s}, - {shaper, c2s_shaper}]}, - -% To create selfsigned certificate run the following command from the -% command prompt: -% -% openssl req -new -x509 -days 365 -nodes -out ejabberd.pem -keyout ejabberd.pem -% -% and answer the questions. -% {5222, ejabberd_c2s, [{access, c2s}, -% starttls, {certfile, "./ejabberd.pem"}, -% {shaper, c2s_shaper}]}, - -% When using SSL/TLS ssl option is not recommended (it requires patching -% erlang ssl application). Use tls option instead (as shown below). -% {5223, ejabberd_c2s, [{access, c2s}, -% tls, {certfile, "./ejabberd.pem"}, -% {shaper, c2s_shaper}]}, - - {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]}, - -% {5555, ejabberd_service, [{access, all}, -% {host, "icq.localhost", [{password, "secret"}]}]}, - - {5280, ejabberd_http, [http_poll, web_admin]} - ]}. - -% If SRV lookup fails, then port 5269 is used to communicate with remote server -{outgoing_s2s_port, 5269}. - - -% Used modules: -{modules, - [ - {mod_register, [{access, register}]}, - {mod_roster, []}, - {mod_shared_roster, []}, - {mod_privacy, []}, - {mod_configure, []}, - {mod_disco, []}, - {mod_stats, []}, - {mod_vcard, []}, - {mod_offline, []}, - {mod_announce, [{access, announce}]}, - {mod_private, []}, -% Default options for mod_muc: -% host: "conference." ++ ?MYNAME -% access: all -% access_create: all -% access_admin: none (only room creator has owner privileges) - {mod_muc, [{access, muc}, - {access_create, muc}, - {access_admin, muc_admin}]}, - {mod_pubsub, []}, - {mod_time, []}, - {mod_last, []}, - {mod_version, []} - ]}. - - -% Local Variables: -% mode: erlang -% End: diff --git a/win32/ejabberd.ico b/win32/ejabberd.ico deleted file mode 100644 index 0a572d7f4..000000000 Binary files a/win32/ejabberd.ico and /dev/null differ diff --git a/win32/ejabberd.nsi b/win32/ejabberd.nsi deleted file mode 100644 index 26fdb0618..000000000 --- a/win32/ejabberd.nsi +++ /dev/null @@ -1,770 +0,0 @@ -; NSIS Modern User Interface -; Ejabberd installation script - -;-------------------------------- -;Include Modern UI - - !include "MUI.nsh" - !include "ejabberd.nsh" ; All release specific parameters come from this - -;-------------------------------- -;General - - ;Name and file - !define PRODUCT "Ejabberd" - Name ${PRODUCT} - OutFile "${OUTFILEDIR}\${PRODUCT}-${VERSION}.exe" - ShowInstDetails show - ShowUninstDetails show - - !define MUI_ICON "ejabberd.ico" - !define MUI_UNICON "ejabberd.ico" - !define MUI_HEADERIMAGE - !define MUI_HEADERIMAGE_BITMAP "ejabberd_header.bmp" - !define MUI_WELCOMEFINISHPAGE_BITMAP "ejabberd_intro.bmp" - - -;-------------------------------- -;Configuration - - SetCompressor lzma - -;-------------------------------- -;Reserve Files - - ReserveFile "ejabberd.ico" - ReserveFile "ejabberd.ico" - ReserveFile "ejabberd_header.bmp" - ReserveFile "ejabberd_intro.bmp" - !ifdef HACKED_INSTALLOPTIONS - ReserveFile "CheckUserH.ini" - ReserveFile "CheckReqs1H.ini" - !else - ReserveFile "CheckUser.ini" - ReserveFile "CheckReqs1.ini" - !endif - ReserveFile "CheckReqs.ini" - ReserveFile "CheckService.ini" - !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS - -;-------------------------------- -;Variables - - Var MUI_TEMP - Var STARTMENU_FOLDER - Var ADMIN - Var ENABLE_SERVICE - Var ERLANG_PATH - Var ERLANG_VERSION - Var REQUIRED_ERLANG_VERSION - Var OPENSSL_PATH - Var OPENSSL_VERSION - Var REQUIRED_OPENSSL_VERSION - Var ERLSRV - -;---------------------------------------------------------- -;.onInit uses UserInfo plugin, so it's as high as possible - -Function .onInit - - StrCpy $REQUIRED_ERLANG_VERSION "5.4.9" - StrCpy $REQUIRED_OPENSSL_VERSION "0.9.7c" - - ;Default installation folder - StrCpy $INSTDIR "$PROGRAMFILES\${PRODUCT}" - - ;Get installation folder from registry if available - ClearErrors - ReadRegStr $0 HKLM "SOFTWARE\${PRODUCT}" "" - IfErrors 0 copydir - ReadRegStr $0 HKCU "SOFTWARE\${PRODUCT}" "" - IfErrors skipdir - copydir: - StrCpy $INSTDIR "$0" - - skipdir: - ;Extract InstallOptions INI files - !ifdef HACKED_INSTALLOPTIONS - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckUserH.ini" - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckReqs1H.ini" - !else - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckUser.ini" - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckReqs1.ini" - !endif - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckReqs.ini" - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "CheckService.ini" - - ClearErrors - UserInfo::GetName - IfErrors admin - Pop $0 - UserInfo::GetAccountType - Pop $1 - StrCmp $1 "Admin" admin user - - admin: - StrCpy $ADMIN 1 - Goto skip - - user: - StrCpy $ADMIN 0 - - skip: - -FunctionEnd - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - -;-------------------------------- -;Installer/Uninstaller pages - - !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_LICENSE "..\..\COPYING" - Page custom CheckReqs LeaveCheckReqs - Page custom CheckReqs1 LeaveCheckReqs1 - Page custom CheckUser LeaveCheckUser - Page custom CheckService LeaveCheckService - ;!insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_DIRECTORY - - !insertmacro MUI_PAGE_STARTMENU ${PRODUCT} $STARTMENU_FOLDER - - !insertmacro MUI_PAGE_INSTFILES - - !insertmacro MUI_UNPAGE_WELCOME - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - -;-------------------------------- -;Language Strings - -;Description - - LangString DESC_SecEjabberd ${LANG_ENGLISH} "Erlang jabber server." - -;-------------------------------- -;Installer Sections - -Section "Ejabberd" SecEjabberd -SectionIn 1 RO - - SetOutPath "$INSTDIR" - File /r "${TESTDIR}\doc" - File /r "${TESTDIR}\ebin" - File /r "${TESTDIR}\msgs" - File /r "${TESTDIR}\win32" - File "${TESTDIR}\*.dll" - File "${TESTDIR}\inetrc" - File /oname=ejabberd.cfg.example "${TESTDIR}\ejabberd.cfg" - SetOverwrite off - File "${TESTDIR}\ejabberd.cfg" - SetOverwrite on - ;File /r "${TESTDIR}\src" - CreateDirectory "$INSTDIR\log" - -;The startmenu stuff - !insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT} - - ;Create shortcuts - StrCpy $0 "$SMPROGRAMS\$STARTMENU_FOLDER" - CreateDirectory "$0" - CreateShortCut "$0\Start Ejabberd.lnk" "$ERLANG_PATH\bin\werl.exe" \ - '-sname ejabberd -pa ebin \ - -env EJABBERD_LOG_PATH log/ejabberd.log \ - -s ejabberd -kernel inetrc \"./inetrc\" -mnesia dir \"spool\" \ - -sasl sasl_error_logger {file,\"log/erlang.log\"}' \ - $INSTDIR\win32\ejabberd.ico - CreateShortCut "$0\Edit Config.lnk" "%SystemRoot%\system32\notepad.exe" \ - "$INSTDIR\ejabberd.cfg" - CreateShortCut "$0\Read Docs.lnk" "$INSTDIR\doc\guide.html" - CreateShortCut "$0\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_END - -;Create Windows service - StrCmp $ADMIN 1 0 skipservice - - StrCpy $ERLSRV "" - Push $ERLANG_PATH - Push erlsrv.exe - GetFunctionAddress $0 FFCallback - Push $0 - Call FindFiles - - StrCmp $ERLSRV "" skipservice - - nsExec::Exec '"$ERLSRV" list ejabberd' - Pop $0 - StrCmp $0 "error" skipservice - StrCmp $0 "0" 0 installsrv - - nsExec::ExecToLog '"$ERLSRV" remove ejabberd' - Pop $0 - - installsrv: - nsExec::ExecToLog '"$ERLSRV" add ejabberd -stopaction "init:stop()." \ - -onfail restart -workdir "$INSTDIR" \ - -args "-s ejabberd -pa ebin \ - -kernel inetrc \\\"./inetrc\\\" \ - -env EJABBERD_LOG_PATH log/ejabberd.log \ - -sasl sasl_error_logger {file,\\\"log/erlang.log\\\"} \ - -mnesia dir \\\"spool\\\"" -d' - Pop $0 - - StrCmp $ENABLE_SERVICE 0 0 skipservice - nsExec::ExecToLog '"$ERLSRV" disable ejabberd' - Pop $0 - - skipservice: - - ;Create uninstaller - WriteUninstaller "$INSTDIR\Uninstall.exe" - - StrCpy $1 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT}" - StrCmp $ADMIN 1 admin2 - - WriteRegStr HKCU "Software\${PRODUCT}" "" "$INSTDIR" - WriteRegStr HKCU "$1" "DisplayName" "${PRODUCT} ${VERSION}" - WriteRegStr HKCU "$1" "UninstallString" "$INSTDIR\Uninstall.exe" - WriteRegDWORD HKCU "$1" "NoModify" 1 - WriteRegDWORD HKCU "$1" "NoRepair" 1 - Goto done2 - - admin2: - WriteRegStr HKLM "Software\${PRODUCT}" "" "$INSTDIR" - WriteRegStr HKLM "Software\${PRODUCT}" "Erlsrv" "$ERLSRV" - WriteRegStr HKLM "$1" "DisplayName" "${PRODUCT} ${VERSION}" - WriteRegStr HKLM "$1" "UninstallString" "$INSTDIR\Uninstall.exe" - WriteRegDWORD HKLM "$1" "NoModify" 1 - WriteRegDWORD HKLM "$1" "NoRepair" 1 - - done2: - -SectionEnd ; SecEjabberd - -Function FFCallback - - Exch $0 - StrCpy $ERLSRV $0 - Pop $0 - Push "stop" - -FunctionEnd - -;-------------------------------- -;Descriptions - - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecEjabberd} $(DESC_SecEjabberd) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -;Uninstaller Section - -Section "Uninstall" - - ClearErrors - UserInfo::GetName - IfErrors admin - Pop $0 - UserInfo::GetAccountType - Pop $1 - StrCmp $1 "Admin" admin - - StrCpy $ADMIN 0 - Goto skipservice - - admin: - StrCpy $ADMIN 1 - ReadRegStr $ERLSRV HKLM "Software\${PRODUCT}" "Erlsrv" - - nsExec::Exec '"$ERLSRV" list ejabberd' - Pop $0 - StrCmp $0 "error" skipservice - StrCmp $0 "0" 0 skipservice - - nsExec::ExecToLog '"$ERLSRV" remove ejabberd' - Pop $0 - - skipservice: - RMDir /r "$INSTDIR\doc" - RMDir /r "$INSTDIR\ebin" - RMDir /r "$INSTDIR\msgs" - RMDir /r "$INSTDIR\win32" - ;RMDir /r "$INSTDIR\src" - RMDir /r "$INSTDIR\log" - Delete "$INSTDIR\*.dll" - Delete "$INSTDIR\inetrc" - Delete "$INSTDIR\ejabberd.cfg.example" - Delete "$INSTDIR\Uninstall.exe" - RMDir "$INSTDIR" - - !insertmacro MUI_STARTMENU_GETFOLDER ${PRODUCT} $MUI_TEMP - - Delete "$SMPROGRAMS\$MUI_TEMP\Start Ejabberd.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Edit Config.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Read Docs.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" - - ;Delete empty start menu parent diretories - StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" - - startMenuDeleteLoop: - RMDir $MUI_TEMP - GetFullPathName $MUI_TEMP "$MUI_TEMP\.." - - IfErrors startMenuDeleteLoopDone - - StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop - startMenuDeleteLoopDone: - - StrCpy $1 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT}" - StrCmp $ADMIN 1 admin1 - DeleteRegKey HKCU "Software\${PRODUCT}" - DeleteRegKey HKCU $1 - Goto done - admin1: - DeleteRegKey HKLM "Software\${PRODUCT}" - DeleteRegKey HKLM $1 - - done: - -SectionEnd - -LangString TEXT_CU_TITLE ${LANG_ENGLISH} "Checking User Privileges" -LangString TEXT_CU_SUBTITLE ${LANG_ENGLISH} "Checking user privileged required to install Ejabberd." - -Function CheckUser - - StrCmp $ADMIN 1 0 showpage - Abort - - showpage: - !insertmacro MUI_HEADER_TEXT $(TEXT_CU_TITLE) $(TEXT_CU_SUBTITLE) - - !ifdef HACKED_INSTALLOPTIONS - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckUserH.ini" - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckUserH.ini" "Field 2" "State" - GetDlgItem $1 $HWNDPARENT 1 - EnableWindow $1 $0 - !else - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckUser.ini" - !endif - - !insertmacro MUI_INSTALLOPTIONS_SHOW - -FunctionEnd - -Function LeaveCheckUser - - !ifdef HACKED_INSTALLOPTIONS - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckUserH.ini" "Settings" "State" - StrCmp $0 0 validate ;Next button? - StrCmp $0 2 checkbox ;checkbox? - Abort ;Return to the page - - checkbox: - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckUserH.ini" "Field 2" "State" - GetDlgItem $1 $HWNDPARENT 1 - EnableWindow $1 $0 - Abort - - validate: - !endif - -FunctionEnd - -LangString TEXT_CU_TITLE ${LANG_ENGLISH} "Configuring Ejabberd Service" -LangString TEXT_CU_SUBTITLE ${LANG_ENGLISH} "Configuring Ejabberd Service." - -Function CheckService - - StrCmp $ADMIN 0 0 showpage - Abort - - showpage: - !insertmacro MUI_HEADER_TEXT $(TEXT_CU_TITLE) $(TEXT_CU_SUBTITLE) - - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckService.ini" - - !insertmacro MUI_INSTALLOPTIONS_SHOW - -FunctionEnd - -Function LeaveCheckService - - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckService.ini" "Field 2" "State" - StrCmp $0 0 0 autostart - StrCpy $ENABLE_SERVICE 0 - Goto endfun - - autostart: - StrCpy $ENABLE_SERVICE 1 - - endfun: - -FunctionEnd - -LangString TEXT_CR_TITLE ${LANG_ENGLISH} "Unsatisfied Requirements" -LangString TEXT_CR_SUBTITLE ${LANG_ENGLISH} "Unsatisfied Ejabberd requirements found." - -Function CheckReqs - - Push "HKLM" - Call FindErlang - Pop $ERLANG_PATH - Pop $ERLANG_VERSION - StrCmp $ERLANG_PATH "" 0 abort - Push "HKCU" - Call FindErlang - Pop $ERLANG_PATH - Pop $ERLANG_VERSION - StrCmp $ERLANG_PATH "" 0 abort - - !insertmacro MUI_HEADER_TEXT $(TEXT_CR_TITLE) $(TEXT_CR_SUBTITLE) - - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckReqs.ini" - GetDlgItem $R0 $HWNDPARENT 1 - EnableWindow $R0 0 - - - !insertmacro MUI_INSTALLOPTIONS_SHOW - - abort: - Abort - -FunctionEnd - -Function LeaveCheckReqs - - Abort - -FunctionEnd - -Function CheckReqs1 - - Push "HKLM" - Call FindOpenSSL - Pop $OPENSSL_PATH - Pop $OPENSSL_VERSION - StrCmp $OPENSSL_PATH "" 0 abort - Push "HKCU" - Call FindOpenSSL - Pop $OPENSSL_PATH - Pop $OPENSSL_VERSION - StrCmp $OPENSSL_PATH "" 0 abort - - !insertmacro MUI_HEADER_TEXT $(TEXT_CR_TITLE) $(TEXT_CR_SUBTITLE) - - !ifdef HACKED_INSTALLOPTIONS - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckReqs1H.ini" - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckReqs1H.ini" "Field 3" "State" - GetDlgItem $1 $HWNDPARENT 1 - EnableWindow $1 $0 - !else - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CheckReqs1.ini" - !endif - - !insertmacro MUI_INSTALLOPTIONS_SHOW - - abort: - Abort - -FunctionEnd - -Function LeaveCheckReqs1 - - !ifdef HACKED_INSTALLOPTIONS - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckReqs1H.ini" "Settings" "State" - StrCmp $0 0 validate ;Next button? - StrCmp $0 3 checkbox ;checkbox? - Abort ;Return to the page - - checkbox: - !insertmacro MUI_INSTALLOPTIONS_READ $0 "CheckReqs1H.ini" "Field 3" "State" - GetDlgItem $1 $HWNDPARENT 1 - EnableWindow $1 $0 - Abort - - validate: - !endif - -FunctionEnd - -Function FindErlang - - Exch $R0 - Push $R1 - Push $R2 - Push $R3 - Push $R4 - Push $R5 - - StrCpy $R1 0 - StrCpy $R2 "SOFTWARE\Ericsson\Erlang" - - loop: - StrCmp $R0 HKLM h1 - EnumRegKey $R3 HKCU $R2 $R1 - Goto l1 - h1: - EnumRegKey $R3 HKLM $R2 $R1 - l1: - IntOp $R1 $R1 + 1 - StrCmp $R3 "" endloop - ClearErrors - StrCmp $R0 HKLM h2 - ReadRegStr $R4 HKCU "$R2\$R3" "" - Goto l2 - h2: - ReadRegStr $R4 HKLM "$R2\$R3" "" - l2: - IfFileExists "$R4\bin\erl.exe" 0 loop - Push $REQUIRED_ERLANG_VERSION - Push $R3 - Call CompareVersions - Pop $R5 - StrCmp $R5 1 get - Goto loop - - endloop: - StrCpy $R4 "" - - get: - StrCpy $R0 $R4 - StrCpy $R1 $R3 - - Pop $R5 - Pop $R4 - Pop $R3 - Pop $R2 - Exch $R1 - Exch - Exch $R0 - -FunctionEnd - -Function FindOpenSSL - - Exch $R0 - Push $R1 - Push $R2 - Push $R3 - Push $R4 - Push $R5 - - StrCpy $R1 0 - StrCpy $R2 "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSSL_is1" - - StrCmp $R0 HKLM h1 - ReadRegStr $R3 HKCU "$R2" "DisplayName" - ReadRegStr $R4 HKCU "$R2" "Inno Setup: App Path" - Goto l1 - h1: - ReadRegStr $R3 HKLM "$R2" "DisplayName" - ReadRegStr $R4 HKLM "$R2" "Inno Setup: App Path" - l1: - - IfFileExists "$R4\bin\openssl.exe" 0 notfound - Goto get - ; TODO check version - ;Push $REQUIRED_OPENSSL_VERSION - ;Push $R3 - ;Call CompareVersions - ;Pop $R5 - ;StrCmp $R5 1 get - - notfound: - StrCpy $R4 "" - - get: - StrCpy $R0 $R4 - StrCpy $R1 $R3 - - Pop $R5 - Pop $R4 - Pop $R3 - Pop $R2 - Exch $R1 - Exch - Exch $R0 - -FunctionEnd - -;---------------------------------------------------------------------- -; CompareVersions -; input: -; top of stack = existing version -; top of stack-1 = needed version -; output: -; top of stack = 1 if current version => neded version, else 0 -; version is a string in format "xx.xx.xx.xx" (number of interger sections -; can be different in needed and existing versions) - -Function CompareVersions - ; stack: existing ver | needed ver - Exch $R0 - Exch - Exch $R1 - ; stack: $R1|$R0 - - Push $R1 - Push $R0 - ; stack: e|n|$R1|$R0 - - ClearErrors - loop: - IfErrors VersionNotFound - Strcmp $R0 "" VersionTestEnd - - Call ParseVersion - Pop $R0 - Exch - - Call ParseVersion - Pop $R1 - Exch - - IntCmp $R1 $R0 +1 VersionOk VersionNotFound - Pop $R0 - Push $R0 - - goto loop - - VersionTestEnd: - Pop $R0 - Pop $R1 - Push $R1 - Push $R0 - StrCmp $R0 $R1 VersionOk VersionNotFound - - VersionNotFound: - StrCpy $R0 "0" - Goto end - - VersionOk: - StrCpy $R0 "1" -end: - ; stack: e|n|$R1|$R0 - Exch $R0 - Pop $R0 - Exch $R0 - ; stack: res|$R1|$R0 - Exch - ; stack: $R1|res|$R0 - Pop $R1 - ; stack: res|$R0 - Exch - Pop $R0 - ; stack: res -FunctionEnd - -;----------------------------------------------------------------------- -; ParseVersion -; input: -; top of stack = version string ("xx.xx.xx.xx") -; output: -; top of stack = first number in version ("xx") -; top of stack-1 = rest of the version string ("xx.xx.xx") -Function ParseVersion - Exch $R1 ; version - Push $R2 - Push $R3 - - StrCpy $R2 1 - loop: - StrCpy $R3 $R1 1 $R2 - StrCmp $R3 "." loopend - StrLen $R3 $R1 - IntCmp $R3 $R2 loopend loopend - IntOp $R2 $R2 + 1 - Goto loop - loopend: - Push $R1 - StrCpy $R1 $R1 $R2 - Exch $R1 - - StrLen $R3 $R1 - IntOp $R3 $R3 - $R2 - IntOp $R2 $R2 + 1 - StrCpy $R1 $R1 $R3 $R2 - - Push $R1 - - Exch 2 - Pop $R3 - - Exch 2 - Pop $R2 - - Exch 2 - Pop $R1 -FunctionEnd - -Function FindFiles - - Exch $R5 # callback function - Exch - Exch $R4 # file name - Exch 2 - Exch $R0 # directory - Push $R1 - Push $R2 - Push $R3 - Push $R6 - - Push $R0 # first dir to search - - StrCpy $R3 1 - - nextDir: - Pop $R0 - IntOp $R3 $R3 - 1 - ClearErrors - FindFirst $R1 $R2 "$R0\*.*" - nextFile: - StrCmp $R2 "." gotoNextFile - StrCmp $R2 ".." gotoNextFile - - StrCmp $R2 $R4 0 isDir - Push "$R0\$R2" - Call $R5 - Pop $R6 - StrCmp $R6 "stop" 0 isDir - loop: - StrCmp $R3 0 done - Pop $R0 - IntOp $R3 $R3 - 1 - Goto loop - - isDir: - IfFileExists "$R0\$R2\*.*" 0 gotoNextFile - IntOp $R3 $R3 + 1 - Push "$R0\$R2" - - gotoNextFile: - FindNext $R1 $R2 - IfErrors 0 nextFile - - done: - FindClose $R1 - StrCmp $R3 0 0 nextDir - - Pop $R6 - Pop $R3 - Pop $R2 - Pop $R1 - Pop $R0 - Pop $R5 - Pop $R4 - -FunctionEnd - diff --git a/win32/ejabberd_header.bmp b/win32/ejabberd_header.bmp deleted file mode 100644 index 14d70ddee..000000000 Binary files a/win32/ejabberd_header.bmp and /dev/null differ diff --git a/win32/ejabberd_intro.bmp b/win32/ejabberd_intro.bmp deleted file mode 100644 index 7b37b0780..000000000 Binary files a/win32/ejabberd_intro.bmp and /dev/null differ diff --git a/win32/inetrc b/win32/inetrc deleted file mode 100644 index 49b18c2eb..000000000 --- a/win32/inetrc +++ /dev/null @@ -1 +0,0 @@ -{registry, win32}.