Typo
[gpg4win.git] / src / installer.nsi
index dcbaa22..4723ad5 100644 (file)
@@ -61,8 +61,6 @@ OutFile "${PACKAGE}-light-${VERSION}.exe"
 OutFile "${PACKAGE}-${VERSION}.exe"
 !endif
 
 OutFile "${PACKAGE}-${VERSION}.exe"
 !endif
 
-Icon "${TOP_SRCDIR}/doc/logo/gpg4win-logo-icon.ico"
-UninstallIcon "${TOP_SRCDIR}/doc/logo/gpg4win-logo-icon.ico"
 
 # Set the installation directory.
 !ifndef INSTALL_DIR
 
 # Set the installation directory.
 !ifndef INSTALL_DIR
@@ -110,17 +108,27 @@ Var OtherGnuPGDetected
 !define MUI_FINISHPAGE_NOAUTOCLOSE
 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
 
 !define MUI_FINISHPAGE_NOAUTOCLOSE
 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
 
-#!define MUI_HEADERIMAGE
-#!define MUI_HEADERIMAGE_BITMAP \
-#               "${TOP_SRCDIR}/doc/logo/gpg4win-logo-150x57.bmp"
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_BITMAP \
+               "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-header-install-150x57.bmp"
+!define MUI_HEADERIMAGE_UNBITMAP \
+               "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-header-uninstall-150x57.bmp"
 !define MUI_WELCOMEFINISHPAGE_BITMAP \
 !define MUI_WELCOMEFINISHPAGE_BITMAP \
-               "${TOP_SRCDIR}/doc/logo/gpg4win-logo-164x314.bmp"
+               "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-wizard-install-164x314.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP \
+               "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-wizard-uninstall-164x314.bmp"
+!define MUI_ICON "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-install.ico"
+!define MUI_UNICON "${TOP_SRCDIR}/doc/logo/gpg4win-nsis-uninstall.ico"
 
 # Remember the installer language
 
 
 # Remember the installer language
 
-#!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
-#!define MUI_LANGDLL_REGISTRY_KEY "Software\GNU\${PRETTY_PACKAGE_SHORT}" 
-#!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+!define MUI_LANGDLL_REGISTRY_ROOT "HKLM"
+!define MUI_LANGDLL_REGISTRY_KEY "Software\GNU\${PRETTY_PACKAGE_SHORT}" 
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+# No Umlaute, please!
+!define MUI_LANGDLL_INFO "Please choose a language for the setup.$\r$\n\
+Bitte die Sprache des Installations-Vorgangs angeben."
 
 # The list of wizard pages.
 
 
 # The list of wizard pages.
 
@@ -148,7 +156,7 @@ Var STARTMENU_FOLDER
 
 !define MUI_PAGE_CUSTOMFUNCTION_PRE CheckIfStartMenuWanted
 !define MUI_STARTMENUPAGE_NODISABLE
 
 !define MUI_PAGE_CUSTOMFUNCTION_PRE CheckIfStartMenuWanted
 !define MUI_STARTMENUPAGE_NODISABLE
-!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
 !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\GNU\${PRETTY_PACKAGE_SHORT}"
 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
 
 !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\GNU\${PRETTY_PACKAGE_SHORT}"
 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
 
@@ -173,9 +181,10 @@ Var STARTMENU_FOLDER
 
 # Uninstaller pages.
 
 
 # Uninstaller pages.
 
+!insertmacro MUI_UNPAGE_WELCOME
 !insertmacro MUI_UNPAGE_CONFIRM
 !insertmacro MUI_UNPAGE_INSTFILES
 !insertmacro MUI_UNPAGE_CONFIRM
 !insertmacro MUI_UNPAGE_INSTFILES
-
+!insertmacro MUI_UNPAGE_FINISH
 
 #Page license
 #Page components
 
 #Page license
 #Page components
@@ -188,9 +197,20 @@ Var STARTMENU_FOLDER
 # Language support.  This has to be done after defining the pages, but
 # before defining the translation strings.  Confusing.
 
 # Language support.  This has to be done after defining the pages, but
 # before defining the translation strings.  Confusing.
 
+# Enable this to not filter languages for the current code page.  Note
+# that languages which are then not filtered out may not be displayed
+# correctly in the Windows version the user is using.  Not recommended,
+# but can be useful for testing.
+!ifdef DEBUG
+!define MUI_LANGDLL_ALLLANGUAGES
+!endif
+
 !insertmacro MUI_LANGUAGE "English"
 !insertmacro MUI_LANGUAGE "English"
+!define PO_HEADER
+!include "../po/catalogs.nsi"
+!undef PO_HEADER
 
 
-#!insertmacro MUI_RESERVEFILE_LANGDLL
+!insertmacro MUI_RESERVEFILE_LANGDLL
 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
 ReserveFile "${BUILD_DIR}\g4wihelp.dll"
 !ifdef SOURCES
 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
 ReserveFile "${BUILD_DIR}\g4wihelp.dll"
 !ifdef SOURCES
@@ -208,8 +228,7 @@ LangString T_LangCode ${LANG_ENGLISH} "en"
 # Startup page
 LangString T_GPLHeader ${LANG_ENGLISH} \
   "This software is licensed under the terms of the GNU General Public \
 # Startup page
 LangString T_GPLHeader ${LANG_ENGLISH} \
   "This software is licensed under the terms of the GNU General Public \
-   License (GPL) which guarantees your freedom to share and change Free \
-   Software."
+   License (GPL)."
 
 LangString T_GPLShort ${LANG_ENGLISH} \
   "In short: You are allowed to run this software for any purpose. \
 
 LangString T_GPLShort ${LANG_ENGLISH} \
   "In short: You are allowed to run this software for any purpose. \
@@ -234,6 +253,9 @@ LangString T_NoKeyManager ${LANG_ENGLISH} \
 LangString DESC_Menu_manuals ${LANG_ENGLISH} \
    "Documentation"
 
 LangString DESC_Menu_manuals ${LANG_ENGLISH} \
    "Documentation"
 
+LangString DESC_Menu_uninstall ${LANG_ENGLISH} \
+   "Uninstall"
+
 # Used as subdirectory name on Desktop.
 LangString DESC_Desktop_manuals ${LANG_ENGLISH} \
    "Gpg4win Documentation"
 # Used as subdirectory name on Desktop.
 LangString DESC_Desktop_manuals ${LANG_ENGLISH} \
    "Gpg4win Documentation"
@@ -266,6 +288,11 @@ Function CustomPageOptions
   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "installer-options.ini"
 FunctionEnd
 
   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "installer-options.ini"
 FunctionEnd
 
+# Display a warning if this is a Beta version.
+#Function PrintBetaWarning
+#   MessageBox MB_OK "$(T_BetaWarning)"
+#FunctionEnd
+
 
 # Display a warning if GnuPP has been detected and allow the user to abort
 # the installation.
 
 # Display a warning if GnuPP has been detected and allow the user to abort
 # the installation.
@@ -346,6 +373,13 @@ Function CheckExistingVersion
   Call TrimNewLines
   Pop $R1
 
   Call TrimNewLines
   Pop $R1
 
+  # Extract major version.
+  StrCpy $0 $R1 2
+  StrCmp $0 "1." 0 secondtest
+    MessageBox MB_YESNO "$(T_FoundExistingOldVersion)" IDYES leave
+    Abort
+
+ secondtest:
   MessageBox MB_YESNO "$(T_FoundExistingVersion)" IDYES leave
   Abort
 
   MessageBox MB_YESNO "$(T_FoundExistingVersion)" IDYES leave
   Abort
 
@@ -367,6 +401,9 @@ FunctionEnd
 # OS version without the need for an Administrator is in use.  Print a
 # diagnostic if this is not the case and abort installation.
 Function PrintNonAdminWarning
 # OS version without the need for an Administrator is in use.  Print a
 # diagnostic if this is not the case and abort installation.
 Function PrintNonAdminWarning
+
+  #Call PrintBetaWarning
+
   ClearErrors
   UserInfo::GetName
   IfErrors leave
   ClearErrors
   UserInfo::GetName
   IfErrors leave
@@ -450,6 +487,11 @@ LangString T_InstOptFieldC  ${LANG_ENGLISH} \
 LangString T_FoundExistingVersion ${LANG_ENGLISH} \
      "Version $R1 has already been installed.  $\r$\n\
       Do you want to overwrite it with version ${VERSION}?"
 LangString T_FoundExistingVersion ${LANG_ENGLISH} \
      "Version $R1 has already been installed.  $\r$\n\
       Do you want to overwrite it with version ${VERSION}?"
+LangString T_FoundExistingOldVersion ${LANG_ENGLISH} \
+     "An old version $R1 has already been installed.  It is \
+      strongly recommended to deinstall previous versions on \
+      major upgrades. $\r$\n\
+      Do you want to continue installing Gpg4win ${VERSION} anyway?"
 LangString T_FoundExistingVersionB ${LANG_ENGLISH} \
      "A version of Gpg4Win has already been installed on the system. \
       There will be no problem installing and thus overwriting this \
 LangString T_FoundExistingVersionB ${LANG_ENGLISH} \
      "A version of Gpg4Win has already been installed on the system. \
       There will be no problem installing and thus overwriting this \
@@ -500,6 +542,13 @@ LangString T_FoundOldGnuPack ${LANG_ENGLISH} \
 
 
 
 
 
 
+# From Function PrintBetaWarning
+LangString T_BetaWarning ${LANG_ENGLISH} \
+   "Note: This is a BETA version of Gpg4win. $\r$\n\
+     $\r$\n\
+    Beta versions are only intended for testing and \
+    shall not be used in a production environment."
+
 # From Function PrintNonAdminWarning
 LangString T_AdminNeeded ${LANG_ENGLISH} \
    "Warning: Administrator permissions required for a successful installation"
 # From Function PrintNonAdminWarning
 LangString T_AdminNeeded ${LANG_ENGLISH} \
    "Warning: Administrator permissions required for a successful installation"
@@ -508,7 +557,7 @@ LangString T_AdminNeeded ${LANG_ENGLISH} \
 LangString T_CloseOtherApps ${LANG_ENGLISH} \
    "Please make sure that other applications are not running. \
     In particular you should close Outlook and all Explorer \
 LangString T_CloseOtherApps ${LANG_ENGLISH} \
    "Please make sure that other applications are not running. \
     In particular you should close Outlook and all Explorer \
-    windows.  Gpg4Win will try to install anyway but a reboot \
+    windows.  Gpg4win will try to install anyway but a reboot \
     will be required then."
 LangString T_ShuttingDownWinPT ${LANG_ENGLISH} \
    "Trying to shutdown a possible running instance of WinPT."
     will be required then."
 LangString T_ShuttingDownWinPT ${LANG_ENGLISH} \
    "Trying to shutdown a possible running instance of WinPT."