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