[MERGE] forward port of branch 7.0 up to revid 4067 chs@openerp.com-20131114142639...
[odoo/odoo.git] / setup.nsi
index f0bd319..859ebdb 100644 (file)
--- a/setup.nsi
+++ b/setup.nsi
-##############################################################################
-#
-# 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=<VERSION>"
-!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
-
+#####################################################################################\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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  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-7.0"\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-7.0"\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-7.0"\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\Installations" 0\r
+    IfErrors DoInstallPostgreSQL 0\r
+    StrCmp $0 "" DoInstallPostgreSQL\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