X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=setup.nsi;h=87a6202646ba2cfbbf3084ed7f1c0d7aaf5d9be8;hb=9bc690bf171358eb0828e6d8083d35adffb3ab0f;hp=f0bd31985eb078cab2e6fbd326cec4175db2872e;hpb=ea1bba787036754b2453fef4f9a3841599a19375;p=odoo%2Fodoo.git diff --git a/setup.nsi b/setup.nsi index f0bd319..87a6202 100644 --- a/setup.nsi +++ b/setup.nsi @@ -1,228 +1,378 @@ -############################################################################## -# -# Copyright (c) 2004-2008 Tiny SPRL (http://tiny.be) All Rights Reserved. -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 3 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -############################################################################### -!ifndef VERSION - !error "Do not forget to specify the version of OpenERP - /DVERSION=" -!endif - -!include "MUI.nsh" - -;-------------------------------- -;General - -;Name and file -Name "OpenERP Server" -OutFile "openerp-server-setup-${VERSION}.exe" -SetCompressor lzma -SetCompress auto - -;Default installation folder -InstallDir "$PROGRAMFILES\OpenERP Server" - -;Get installation folder from registry if available -InstallDirRegKey HKLM "Software\OpenERP Server" "" - -BrandingText "OpenERP Server ${VERSION}" - -;Vista redirects $SMPROGRAMS to all users without this -RequestExecutionLevel admin - -;-------------------------------- -;Variables - -Var MUI_TEMP -Var STARTMENU_FOLDER - -;-------------------------------- -;Interface Settings - -!define MUI_ABORTWARNING - -;-------------------------------- -;Pages - -!define MUI_ICON ".\pixmaps\openerp-icon.ico" -!define MUI_WELCOMEFINISHPAGE_BITMAP ".\pixmaps\openerp-intro.bmp" -!define MUI_UNWELCOMEFINISHPAGE_BITMAP ".\pixmaps\openerp-intro.bmp" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH -!define MUI_HEADER_TRANSPARENT_TEXT "" -!define MUI_HEADERIMAGE_BITMAP ".\pixmaps\openerp-slogan.bmp" -!define MUI_LICENSEPAGE_TEXT_BOTTOM "Usually, a proprietary license provides with the software: limited number of users, limited in time usage, etc. This Open Source license is the opposite: it garantees you the right to use, copy, study, distribute and modify Open ERP for free." - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "doc\License.rtf" -!insertmacro MUI_PAGE_DIRECTORY - -;Start Menu Folder Page Configuration -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" -!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenERP Server" -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "OpenERP Server" - -!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER - -!insertmacro MUI_PAGE_INSTFILES - -!define MUI_FINISHPAGE_NOAUTOCLOSE -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_CHECKED -!define MUI_FINISHPAGE_RUN_TEXT "Start OpenERP Server" -!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED -!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\README.txt -!insertmacro MUI_PAGE_FINISH - - -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES - -;-------------------------------- -;Languages - -!insertmacro MUI_LANGUAGE "English" - -!macro CreateInternetShortcut FILENAME URL - WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}" -!macroend - -;-------------------------------- -;Installer Sections -Function .onInit - ClearErrors - ReadRegStr $0 HKLM "Software\OpenERP Server" "" - IfErrors DoInstall 0 - MessageBox MB_OK "Can not install the Open ERP Server because a previous installation already exists on this system. Please uninstall your current installation and relaunch this setup wizard." - Quit - DoInstall: -FunctionEnd - -Section "OpenERP Server" SecOpenERPServer - nsExec::Exec "net stop openerp-service" - sleep 2 - - SetOutPath "$INSTDIR" - - ;ADD YOUR OWN FILES HERE... - File /r "dist\*" - - SetOutPath "$INSTDIR\service" - File /r "win32\dist\*" - File "win32\start.bat" - File "win32\stop.bat" - - ;Store installation folder - WriteRegStr HKLM "Software\OpenERP Server" "" $INSTDIR - -!ifndef ALLINONE - ;Create uninstaller - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Server" "DisplayName" "OpenERP Server ${VERSION}" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Server" "UninstallString" "$INSTDIR\Uninstall.exe" -!else - WriteRegStr HKLM "Software\OpenERP AllInOne" "UninstallServer" "$INSTDIR\Uninstall.exe" -!endif - WriteUninstaller "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - ;Create shortcuts - CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenERP Server.lnk" "$INSTDIR\openerp-server.exe" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Start service.lnk" "$INSTDIR\service\start.bat" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Stop service.lnk" "$INSTDIR\service\stop.bat" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Edit config.lnk" "notepad.exe" "$INSTDIR\openerp-server.conf" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\View log.lnk" "notepad.exe" "$INSTDIR\openerp-server.log" -!ifndef ALLINONE - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\uninstall.exe" -!endif - !insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\Forum" "http://www.openerp.com/forum" - !insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\Translation" "https://translations.launchpad.net/openobject" - !insertmacro MUI_STARTMENU_WRITE_END - - nsExec::Exec '"$INSTDIR\openerp-server.exe" --stop-after-init --logfile "$INSTDIR\openerp-server.log" -s' - nsExec::Exec '"$INSTDIR\service\OpenERPServerService.exe" -auto -install' - -SectionEnd - -;Descriptions - -;Language strings -LangString DESC_SecOpenERPServer ${LANG_ENGLISH} "OpenERP Server." - -;Assign language strings to sections -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecOpenERPServer} $(DESC_SecOpenERPServer) -!insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -;Uninstaller Section - -Section "Uninstall" - nsExec::Exec "net stop openerp-service" - sleep 2 - nsExec::Exec '"$INSTDIR\service\OpenERPServerService.exe" -remove' - sleep 2 - - RMDIR /r "$INSTDIR" - !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP - - Delete "$SMPROGRAMS\$MUI_TEMP\Forum.url" - Delete "$SMPROGRAMS\$MUI_TEMP\Translation.url" -!ifndef ALLINONE - Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" -!endif - Delete "$SMPROGRAMS\$MUI_TEMP\OpenERP Server.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Start service.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Stop service.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Edit config.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\View log.lnk" - - ;Delete empty start menu parent diretories - StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" - - startMenuDeleteLoop: - ClearErrors - RMDir $MUI_TEMP - GetFullPathName $MUI_TEMP "$MUI_TEMP\.." - - IfErrors startMenuDeleteLoopDone - - StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop - - startMenuDeleteLoopDone: - -!ifndef ALLINONE - DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Server" -!else - DeleteRegKey HKLM "Software\OpenERP AllInOne\UninstallServer" -!endif - DeleteRegKey /ifempty HKLM "Software\OpenERP Server" - -SectionEnd - -Function LaunchLink - nsExec::Exec "net start openerp-service" -FunctionEnd - +##################################################################################### +# +# Copyright (c) 2004-TODAY OpenERP S.A. (http://www.openerp.com) All Rights Reserved. +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 3 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +##################################################################################### + +!include 'MUI2.nsh' +!include 'FileFunc.nsh' +!include 'LogicLib.nsh' +!include 'Sections.nsh' + +!define PUBLISHER 'OpenERP S.A.' + +!ifndef VERSION + !define VERSION '0' +!endif +#!define VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${REVISION_VERSION}" + +!define PRODUCT_NAME "OpenERP Server" +!define DISPLAY_NAME "${PRODUCT_NAME} ${VERSION}" + +!define UNINSTALL_REGISTRY_ROOT HKLM +!define UNINSTALL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${DISPLAY_NAME}" + +!define REGISTRY_KEY "Software\${DISPLAY_NAME}" + +!define DEFAULT_POSTGRESQL_HOSTNAME 'localhost' +!define DEFAULT_POSTGRESQL_PORT 5432 +!define DEFAULT_POSTGRESQL_USERNAME 'openpg' +!define DEFAULT_POSTGRESQL_PASSWORD 'openpgpwd' + +Name '${DISPLAY_NAME}' +Caption "${PRODUCT_NAME} ${VERSION} Setup" +OutFile "openerp-server-setup-${VERSION}.exe" +SetCompressor /final /solid lzma +SetCompress auto +ShowInstDetails show + +XPStyle on + +InstallDir "$PROGRAMFILES\OpenERP ${VERSION}" +InstallDirRegKey HKCU "${REGISTRY_KEY}" "" + +BrandingText '${PRODUCT_NAME} ${VERSION}' + +RequestExecutionLevel admin + +#VIAddVersionKey "ProductName" "${PRODUCT_NAME}" +#VIAddVersionKey "CompanyName" "${PUBLISHER}" +#VIAddVersionKey "FileDescription" "Installer of ${DISPLAY_NAME}" +#VIAddVersionKey "LegalCopyright" "${PUBLISHER}" +#VIAddVersionKey "LegalTrademark" "OpenERP is a trademark of ${PUBLISHER}" +#VIAddVersionKey "FileVersion" "${MAJOR_VERSION}.${MINOR_VERSION}.${REVISION_VERSION}" +#VIProductVersion "${MAJOR_VERSION}.${MINOR_VERSION}.${REVISION_VERSION}" + +!insertmacro GetParameters +!insertmacro GetOptions + +Var Option_AllInOne +Var HasPostgreSQL +Var cmdLineParams + +Var TextPostgreSQLHostname +Var TextPostgreSQLPort +Var TextPostgreSQLUsername +Var TextPostgreSQLPassword + +Var HWNDPostgreSQLHostname +Var HWNDPostgreSQLPort +Var HWNDPostgreSQLUsername +Var HWNDPostgreSQLPassword + +Var MUI_TEMP +Var STARTMENU_FOLDER + +!define MUI_ABORTWARNING +!define MUI_ICON ".\install\openerp-icon.ico" + +!define MUI_WELCOMEFINISHPAGE_BITMAP ".\install\openerp-intro.bmp" +!define MUI_UNWELCOMEFINISHPAGE_BITMAP ".\install\openerp-intro.bmp" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP ".\install\openerp-slogan.bmp" +!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH +!define MUI_HEADER_TRANSPARENT_TEXT "" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE ".\LICENSE" +!define MUI_COMPONENTSPAGE_SMALLDESC +!insertmacro MUI_PAGE_DIRECTORY +Page Custom ShowPostgreSQL LeavePostgreSQL + +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${REGISTRY_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${DISPLAY_NAME}" + +!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER +!insertmacro MUI_PAGE_INSTFILES + +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_FINISHPAGE_LINK $(DESC_FinishPage_Link) +!define MUI_FINISHPAGE_LINK_LOCATION "http://www.openerp.com/contact" +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "French" +!insertmacro MUI_RESERVEFILE_LANGDLL + +!macro CreateInternetShortcut FILENAME URL + WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}" +!macroend + +; English +LangString DESC_FinishPage_Link ${LANG_ENGLISH} "Contact OpenERP for Partnership and/or Support" +LangString WARNING_HostNameIsEmpty ${LANG_ENGLISH} "The hostname for the connection to the PostgreSQL Server is empty" +LangString WARNING_UserNameIsEmpty ${LANG_ENGLISH} "The username for the connection to the PostgreSQL Server is empty" +LangString WARNING_PasswordIsEmpty ${LANG_ENGLISH} "The password for the connection to the PostgreSQL Server is empty" +LangString WARNING_PortIsWrong ${LANG_ENGLISH} "The port for the connexion to the PostgreSQL Server is wrong (default: 5432)" +LangString DESC_PostgreSQLPage ${LANG_ENGLISH} "Configure the information for the PostgreSQL connection" +LangString DESC_PostgreSQL_Hostname ${LANG_ENGLISH} "Hostname" +LangString DESC_PostgreSQL_Port ${LANG_ENGLISH} "Port" +LangString DESC_PostgreSQL_Username ${LANG_ENGLISH} "Username" +LangString DESC_PostgreSQL_Password ${LANG_ENGLISH} "Password" + + +; French +LangString DESC_FinishPage_Link ${LANG_FRENCH} "Contactez OpenERP pour un Partenariat et/ou du Support" +LangString WARNING_HostNameIsEmpty ${LANG_FRENCH} "L'adresse pour la connection au serveur PostgreSQL est vide" +LangString WARNING_UserNameIsEmpty ${LANG_FRENCH} "Le nom d'utilisateur pour la connection au serveur PostgreSQL est vide" +LangString WARNING_PasswordIsEmpty ${LANG_FRENCH} "Le mot de passe pour la connection au serveur PostgreSQL est vide" +LangString WARNING_PortIsWrong ${LANG_FRENCH} "Le port pour la connection au serveur PostgreSQL est erron? (d?faut: 5432)" +LangString DESC_PostgreSQLPage ${LANG_FRENCH} "Configurez les informations de connection pour le serveur PostgreSQL" +LangString DESC_PostgreSQL_Hostname ${LANG_FRENCH} "H?te" +LangString DESC_PostgreSQL_Port ${LANG_FRENCH} "Port" +LangString DESC_PostgreSQL_Username ${LANG_FRENCH} "Utilisateur" +LangString DESC_PostgreSQL_Password ${LANG_FRENCH} "Mot de passe" + +Section -StopService + nsExec::Exec "net stop openerp-server-6.1" + sleep 2 +SectionEnd + +Section OpenERP_Server SectionOpenERP_Server + SetOutPath '$INSTDIR\server' + + File /r "dist\*" + File /r "win32\wkhtmltopdf\*" + + SetOutPath "$INSTDIR\service" + File /r "win32\dist\*" + File "win32\start.bat" + File "win32\stop.bat" + + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + ;Create shortcuts + CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" + !insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenERP" "http://localhost:8069/" + !insertmacro MUI_STARTMENU_WRITE_END + + + FileOpen $9 '$INSTDIR\install.log' w + FileWrite $9 "INSTDIR $INSTDIR$\r$\n" + FileWrite $9 "Hostname $TextPostgreSQLHostname$\r$\n" + FileWrite $9 "Port $TextPostgreSQLPort$\r$\n" + FileWrite $9 "Username $TextPostgreSQLUsername$\r$\n" + FileWrite $9 "Password $TextPostgreSQLPassword$\r$\n" + FileClose $9 + +# If there is a previous install of the OpenERP Server, keep the login/password from the config file + WriteIniStr "$INSTDIR\server\openerp-server.conf" "options" "db_host" $TextPostgreSQLHostname + WriteIniStr "$INSTDIR\server\openerp-server.conf" "options" "db_user" $TextPostgreSQLUsername + WriteIniStr "$INSTDIR\server\openerp-server.conf" "options" "db_password" $TextPostgreSQLPassword + WriteIniStr "$INSTDIR\server\openerp-server.conf" "options" "db_port" $TextPostgreSQLPort + WriteIniStr "$INSTDIR\server\openerp-server.conf" "options" "pg_path" "$INSTDIR\PostgreSQL\bin" + + nsExec::Exec '"$INSTDIR\server\openerp-server.exe" --stop-after-init --logfile "$INSTDIR\server\openerp-server.log" -s' + nsExec::Exec '"$INSTDIR\service\OpenERPServerService.exe" -auto -install' +SectionEnd + +Section -RestartServer + nsExec::Exec "net start openerp-server-6.1" + sleep 2 +SectionEnd + +Section -Post + WriteRegExpandStr HKLM "${UNINSTALL_REGISTRY_KEY}" "UninstallString" "$INSTDIR\server\Uninstall.exe" + WriteRegExpandStr HKLM "${UNINSTALL_REGISTRY_KEY}" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "DisplayName" "${DISPLAY_NAME}" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "DisplayVersion" "${VERSION}" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "Publisher" "${PUBLISHER}" +; WriteRegDWORD HKLM "${UNINSTALL_REGISTRY_KEY}" "Version" "${VERSION}" +; WriteRegDWORD HKLM "${UNINSTALL_REGISTRY_KEY}" "VersionMajor" "${MAJOR_VERSION}.${MINOR_VERSION}" +; WriteRegDWORD HKLM "${UNINSTALL_REGISTRY_KEY}" "VersionMinor" "${REVISION_VERSION}" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "HelpLink" "support@openerp.com" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "HelpTelephone" "+32.81.81.37.00" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "URLInfoAbout" "http://www.openerp.com" + WriteRegStr HKLM "${UNINSTALL_REGISTRY_KEY}" "Contact" "sales@openerp.com" + WriteRegDWORD HKLM "${UNINSTALL_REGISTRY_KEY}" "NoModify" "1" + WriteRegDWORD HKLM "${UNINSTALL_REGISTRY_KEY}" "NoRepair" "1" + WriteUninstaller "$INSTDIR\server\Uninstall.exe" +SectionEnd + +Section "Uninstall" + ; Stop the NT Service + nsExec::Exec "net stop openerp-server-6.1" + sleep 2 + + ; Uninstall the OpenERP Service + nsExec::Exec '"$INSTDIR\..\service\OpenERPServerService.exe" -remove' + sleep 2 + + Rmdir /r "$INSTDIR\service" + Rmdir /r "$INSTDIR\server" + + !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP + + Delete "$SMPROGRAMS\$MUI_TEMP\OpenERP.url" + ; + ;Delete empty start menu parent diretories + StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" + + startMenuDeleteLoop: + ClearErrors + RMDir $MUI_TEMP + GetFullPathName $MUI_TEMP "$MUI_TEMP\.." + + IfErrors startMenuDeleteLoopDone + + StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop + + startMenuDeleteLoopDone: + + ; Clean the Registry + DeleteRegKey HKLM "${UNINSTALL_REGISTRY_KEY}" +SectionEnd + +Function .onInit + Push $R0 + + ${GetParameters} $cmdLineParams + ClearErrors + + Pop $R0 + + StrCpy $Option_AllInOne 0 + StrCpy $HasPostgreSQL 0 + + StrCpy $TextPostgreSQLHostname ${DEFAULT_POSTGRESQL_HOSTNAME} + StrCpy $TextPostgreSQLPort ${DEFAULT_POSTGRESQL_PORT} + StrCpy $TextPostgreSQLUsername ${DEFAULT_POSTGRESQL_USERNAME} + StrCpy $TextPostgreSQLPassword ${DEFAULT_POSTGRESQL_PASSWORD} + + Push $R0 + ${GetOptions} $cmdLineParams '/allinone' $R0 + IfErrors +2 0 + StrCpy $Option_AllInOne 1 + Pop $R0 + + StrCmp $Option_AllInOne 1 AllInOneMode + StrCmp $Option_AllInOne 0 NoAllInOneMode + + AllInOneMode: + MessageBox MB_OK|MB_ICONINFORMATION "All In One" + + NoAllInOneMode: + + !insertmacro MUI_LANGDLL_DISPLAY + + ClearErrors + EnumRegKey $0 HKLM "SOFTWARE\PostgreSQL" 0 + IfErrors DoInstallPostgreSQL 0 + StrCpy $HasPostgreSQL 1 + + DoInstallPostgreSQL: +FunctionEnd + +Function PostgreSQLOnBack +FunctionEnd + +Function ShowPostgreSQL + SectionGetFlags ${SectionOpenERP_Server} $0 + IntOp $0 $0 & ${SF_SELECTED} + IntCmp $0 ${SF_SELECTED} LaunchPostgreSQLConfiguration + Abort + LaunchPostgreSQLConfiguration: + + nsDialogs::Create /NOUNLOAD 1018 + Pop $0 + + ${If} $0 == error + Abort + ${EndIf} + + GetFunctionAddress $0 PostgreSQLOnBack + nsDialogs::OnBack $0 + + ${NSD_CreateLabel} 0 0 100% 10u $(DESC_PostgreSQLPage) + Pop $0 + + ${NSD_CreateLabel} 0 45 60u 12u $(DESC_PostgreSQL_Hostname) + Pop $0 + ${NSD_CreateText} 100 45 150u 12u $TextPostgreSQLHostname + Pop $HWNDPostgreSQLHostname + + ${NSD_CreateLabel} 0 75 60u 12u $(DESC_PostgreSQL_Port) + Pop $0 + ${NSD_CreateNumber} 100 75 150u 12u $TextPostgreSQLPort + Pop $HWNDPostgreSQLPort + ${NSD_CreateLabel} 0 105 60u 12u $(DESC_PostgreSQL_Username) + Pop $0 + ${NSD_CreateText} 100 105 150u 12u $TextPostgreSQLUsername + Pop $HWNDPostgreSQLUsername + ${NSD_CreateLabel} 0 135 60u 12u $(DESC_PostgreSQL_Password) + Pop $0 + ${NSD_CreateText} 100 135 150u 12u $TextPostgreSQLPassword + Pop $HWNDPostgreSQLPassword + + nsDialogs::Show +FunctionEnd + +Function LeavePostgreSQL + # Before to leave the PostgreSQL configuration screen, we check the values + # from the inputs, to be sure we have the right values + + ${NSD_GetText} $HWNDPostgreSQLHostname $TextPostgreSQLHostname + ${NSD_GetText} $HWNDPostgreSQLPort $TextPostgreSQLPort + ${NSD_GetText} $HWNDPostgreSQLUsername $TextPostgreSQLUsername + ${NSD_GetText} $HWNDPostgreSQLPassword $TextPostgreSQLPassword + + StrLen $1 $TextPostgreSQLHostname + ${If} $1 == 0 + MessageBox MB_ICONEXCLAMATION|MB_OK $(WARNING_HostNameIsEmpty) + Abort + ${EndIf} + + ${If} $TextPostgreSQLPort <= 0 + ${OrIf} $TextPostgreSQLPort > 65535 + MessageBox MB_ICONEXCLAMATION|MB_OK $(WARNING_PortIsWrong) + Abort + ${EndIf} + + StrLen $1 $TextPostgreSQLUsername + ${If} $1 == 0 + MessageBox MB_ICONEXCLAMATION|MB_OK $(WARNING_UserNameIsEmpty) + Abort + ${EndIf} + + StrLen $1 $TextPostgreSQLPassword + ${If} $1 == 0 + MessageBox MB_ICONEXCLAMATION|MB_OK $(WARNING_PasswordIsEmpty) + Abort + ${EndIf} +FunctionEnd +