pidgin.next.minor: 8902ee53: Use a private GTK+ Runtime copy on Windo...

datallah at pidgin.im datallah at pidgin.im
Sat Oct 31 23:40:21 EDT 2009


-----------------------------------------------------------------
Revision: 8902ee53b8d5926d675d46728968cdeb8bf72c5b
Ancestor: 5247eb71da299226e92373855e0a4afe762e052f
Author: datallah at pidgin.im
Date: 2009-11-01T03:34:32
Branch: im.pidgin.pidgin.next.minor
URL: http://d.pidgin.im/viewmtn/revision/info/8902ee53b8d5926d675d46728968cdeb8bf72c5b

Modified files:
        ChangeLog.win32 Makefile.mingw
        pidgin/win32/nsis/langmacros.nsh
        pidgin/win32/nsis/pidgin-installer.nsi
        pidgin/win32/nsis/translations/afrikaans.nsh
        pidgin/win32/nsis/translations/albanian.nsh
        pidgin/win32/nsis/translations/arabic.nsh
        pidgin/win32/nsis/translations/basque.nsh
        pidgin/win32/nsis/translations/bulgarian.nsh
        pidgin/win32/nsis/translations/catalan.nsh
        pidgin/win32/nsis/translations/czech.nsh
        pidgin/win32/nsis/translations/danish.nsh
        pidgin/win32/nsis/translations/dutch.nsh
        pidgin/win32/nsis/translations/english.nsh
        pidgin/win32/nsis/translations/finnish.nsh
        pidgin/win32/nsis/translations/french.nsh
        pidgin/win32/nsis/translations/galician.nsh
        pidgin/win32/nsis/translations/german.nsh
        pidgin/win32/nsis/translations/hebrew.nsh
        pidgin/win32/nsis/translations/hungarian.nsh
        pidgin/win32/nsis/translations/italian.nsh
        pidgin/win32/nsis/translations/japanese.nsh
        pidgin/win32/nsis/translations/korean.nsh
        pidgin/win32/nsis/translations/kurdish.nsh
        pidgin/win32/nsis/translations/lithuanian.nsh
        pidgin/win32/nsis/translations/norwegian.nsh
        pidgin/win32/nsis/translations/persian.nsh
        pidgin/win32/nsis/translations/polish.nsh
        pidgin/win32/nsis/translations/portuguese-br.nsh
        pidgin/win32/nsis/translations/portuguese.nsh
        pidgin/win32/nsis/translations/romanian.nsh
        pidgin/win32/nsis/translations/russian.nsh
        pidgin/win32/nsis/translations/serbian-latin.nsh
        pidgin/win32/nsis/translations/simp-chinese.nsh
        pidgin/win32/nsis/translations/slovak.nsh
        pidgin/win32/nsis/translations/slovenian.nsh
        pidgin/win32/nsis/translations/spanish.nsh
        pidgin/win32/nsis/translations/swedish.nsh
        pidgin/win32/nsis/translations/trad-chinese.nsh
        pidgin/win32/nsis/translations/valencian.nsh
        pidgin/win32/nsis/translations/vietnamese.nsh
        pidgin/win32/winpidgin.c

ChangeLog: 

Use a private GTK+ Runtime copy on Windows.
We've resisted doing this for a while, but this it has become the norm and is
the safest thing to do.

There are now two installers; an "offline" installer and an "online" installer.
 * The "offline" installer will contain the GTK+ runtime (very similar to the
   current default installer).
 * The "online" installer will not contain GTK+, but will download it during
   the installation process if it is selected(mandatory if not already present)
 * Both installers have an option to download debug symbols during installation
   (Not selected by default).

(Another set of updates to support the external debug symbols will follow)

-------------- next part --------------
============================================================
--- ChangeLog.win32	99deeef62c9aacb4789de939ddf860f78e3b5ea9
+++ ChangeLog.win32	7f35c17f66524d8fb519bfa3eceb20ce5deffa2d
@@ -1,5 +1,6 @@ version 2.7.0 (??/??/????):
 version 2.7.0 (??/??/????):
 	* Minimum required GTK+ version increased to 2.14.0
+	* Private GTK+ Runtime now used (GTK+ Installer no longer supported)
 	* Win9x no longer supported.
 
 version 2.6.3 (10/16/2009):
============================================================
--- Makefile.mingw	40d72321580c9eb524a74ae3715f494afd5d155f
+++ Makefile.mingw	63857aebc94e55aa6fa7ace02acb942f57503da1
@@ -37,6 +37,7 @@ STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP
 )
 
 STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-win32bin
+DEBUG_SYMBOLS_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-dbgsym
 
 
 # Any *.dll or *.exe files included in win32-install-dir that we don't compile
@@ -71,7 +72,7 @@ EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o
 #build an expression for `find` to use to ignore the above files
 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
 
-.PHONY: all docs install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir
+.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT)
 
 all: $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H)
 	$(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE)
@@ -96,23 +97,28 @@ installer: create_release_install_dir
 	 -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -exec $(STRIP) --strip-unneeded {} ';'
 
 installer: create_release_install_dir
-	$(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DWITH_GTK $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
-	mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe ./
 
-installer_nogtk: create_release_install_dir
 	$(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
-	mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-no-gtk.exe ./
+	mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe ./
 
-installer_debug: install
-	$(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(PIDGIN_INSTALL_DIR)" $(MAKENSISOPT)DDEBUG $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
-	mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-debug.exe ./
+installer_offline: create_release_install_dir debug_symbols_zip
+	$(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DOFFLINE_INSTALLER $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
+	mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-offline.exe ./
 
 installer_zip: create_release_install_dir
 	rm -f pidgin-$(PIDGIN_VERSION)-win32-bin.zip
 	zip -9 -r pidgin-$(PIDGIN_VERSION)-win32-bin.zip $(STRIPPED_RELEASE_DIR)
 
-installers: installer installer_nogtk installer_debug installer_zip
+debug_symbols_zip: install
+	rm -rf $(DEBUG_SYMBOLS_DIR) $(DEBUG_SYMBOLS_DIR).zip
+	mkdir $(DEBUG_SYMBOLS_DIR)
+	tar -cf - `find $(PIDGIN_INSTALL_DIR) \( -name '*.dll' -o -name '*.exe' \) \
+	 -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -print` \
+	 | tar --strip 2 --xform s/$$/.dbgsym/ -xC $(DEBUG_SYMBOLS_DIR) -f -
+	zip -9 -r $(DEBUG_SYMBOLS_DIR).zip $(DEBUG_SYMBOLS_DIR) 
 
+installers: installer installer_offline debug_symbols_zip installer_zip
+
 Doxyfile.mingw: Doxyfile.in
 	sed -e "s/@PACKAGE@/pidgin/" -e "s/@VERSION@/$(PIDGIN_VERSION)/" -e "s/@top_srcdir@/$(PIDGIN_TREE_TOP)/g" -e "s/@enable_dot@/NO/" Doxyfile.in > Doxyfile.mingw
 
@@ -125,13 +131,12 @@ clean:
 	$(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean
 	$(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean
 	$(MAKE) -C share/ca-certs -f $(MINGW_MAKEFILE) clean
-	rm -f $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) ./VERSION pidgin-$(PIDGIN_VERSION)*.exe pidgin-$(PIDGIN_VERSION)-win32-bin.zip
+	rm -f $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) ./VERSION pidgin-$(PIDGIN_VERSION)*.exe pidgin-$(PIDGIN_VERSION)-win32-bin.zip $(DEBUG_SYMBOLS_DIR).zip
 	rm -rf doc/html Doxyfile.mingw
 
 uninstall:
-	rm -rf $(PURPLE_INSTALL_PERL_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(STRIPPED_RELEASE_DIR)
+	rm -rf $(PURPLE_INSTALL_PERL_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(STRIPPED_RELEASE_DIR) $(DEBUG_SYMBOLS_DIR)
 	rm -f ./VERSION
 
 include $(PIDGIN_COMMON_TARGETS)
 
-.PHONY: $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT)
============================================================
--- pidgin/win32/nsis/langmacros.nsh	0128fb949c018d0ce618921a61ac7e3ca8b122cf
+++ pidgin/win32/nsis/langmacros.nsh	489736194a0350834cde27ef8cc301a0d30b0e33
@@ -31,7 +31,6 @@
   ; Startup checks
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT INSTALLER_IS_RUNNING		${CUR_LANG}
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_IS_RUNNING			${CUR_LANG}
-  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT GTK_INSTALLER_NEEDED		${CUR_LANG}
 
   ; License Page
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_LICENSE_BUTTON			${CUR_LANG}
@@ -48,20 +47,14 @@
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SHORTCUTS_SECTION_DESCRIPTION	${CUR_LANG}
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_DESKTOP_SHORTCUT_DESC		${CUR_LANG}
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_STARTMENU_SHORTCUT_DESC	${CUR_LANG}
+  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT DEBUG_SYMBOLS_SECTION_TITLE ${CUR_LANG}
 
-  ; GTK+ Directory Page
-  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT GTK_UPGRADE_PROMPT			${CUR_LANG}
-
   ; Installer Finish Page
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_FINISH_VISIT_WEB_SITE		${CUR_LANG}
 
   ; Pidgin Section Prompts and Texts
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	${CUR_LANG}
 
-  ; GTK+ Section Prompts
-  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT GTK_INSTALL_ERROR			${CUR_LANG}
-  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT GTK_BAD_INSTALL_PATH		${CUR_LANG}
-
   ; URI Handler section
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT URI_HANDLERS_SECTION_TITLE		${CUR_LANG}
 
@@ -98,6 +91,9 @@
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SWEDISH		${CUR_LANG}
   !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_UKRAINIAN		${CUR_LANG}
 
+  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_DEBUGSYMBOLS_ERROR ${CUR_LANG}
+  !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_GTK_DOWNLOAD_ERROR ${CUR_LANG}
+
   !undef CUR_LANG
 !macroend
 
============================================================
--- pidgin/win32/nsis/pidgin-installer.nsi	22d610d8f4b3120ee1cd871ed0f30dbc8f165fdd
+++ pidgin/win32/nsis/pidgin-installer.nsi	50bf9a91b531c9e68adbd8a80033488aea312bc4
@@ -8,7 +8,6 @@ Var name
 ;--------------------------------
 ;Global Variables
 Var name
-Var GTK_FOLDER
 Var ISSILENT
 Var STARTUP_RUN_KEY
 Var SPELLCHECK_SEL
@@ -19,15 +18,11 @@ Name $name
 ;The name var is set in .onInit
 Name $name
 
-!ifdef WITH_GTK
-OutFile "pidgin-${PIDGIN_VERSION}.exe"
+!ifdef OFFLINE_INSTALLER
+OutFile "pidgin-${PIDGIN_VERSION}-offline.exe"
 !else
-!ifdef DEBUG
-OutFile "pidgin-${PIDGIN_VERSION}-debug.exe"
-!else
-OutFile "pidgin-${PIDGIN_VERSION}-no-gtk.exe"
+OutFile "pidgin-${PIDGIN_VERSION}.exe"
 !endif
-!endif
 
 SetCompressor /SOLID lzma
 ShowInstDetails show
@@ -51,6 +46,8 @@ SetDateSave on
 !insertmacro WordFind
 !insertmacro un.WordFind
 
+!include "TextFunc.nsh"
+
 ;--------------------------------
 ;Defines
 
@@ -70,11 +67,8 @@ SetDateSave on
 !define PIDGIN_UNINST_EXE			"pidgin-uninst.exe"
 
 !define GTK_MIN_VERSION				"2.14.0"
-!define GTK_REG_KEY				"SOFTWARE\GTK\2.0"
 !define PERL_REG_KEY				"SOFTWARE\Perl"
 !define PERL_DLL				"perl510.dll"
-!define GTK_DEFAULT_INSTALL_PATH		"$COMMONFILES\GTK\2.0"
-!define GTK_RUNTIME_INSTALLER			"..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}*.exe"
 
 !define ASPELL_REG_KEY				"SOFTWARE\Aspell"
 !define DOWNLOADER_URL				"http://pidgin.im/win32/download_redir.php"
@@ -86,15 +80,11 @@ VIAddVersionKey "LegalCopyright" ""
 VIAddVersionKey "FileVersion" "${PIDGIN_VERSION}"
 VIAddVersionKey "ProductVersion" "${PIDGIN_VERSION}"
 VIAddVersionKey "LegalCopyright" ""
-!ifdef WITH_GTK
-VIAddVersionKey "FileDescription" "Pidgin Installer (w/ GTK+ Installer)"
+!ifdef OFFLINE_INSTALLER
+VIAddVersionKey "FileDescription" "Pidgin Installer (Offline)"
 !else
-!ifdef DEBUG
-VIAddVersionKey "FileDescription" "Pidgin Installer (Debug Version)"
-!else
-VIAddVersionKey "FileDescription" "Pidgin Installer (w/o GTK+ Installer)"
+VIAddVersionKey "FileDescription" "Pidgin Installer"
 !endif
-!endif
 
 ;--------------------------------
 ;Reserve files used in .onInit
@@ -138,14 +128,6 @@ ReserveFile "${NSISDIR}\Plugins\System.d
   !insertmacro MUI_PAGE_LICENSE			"../../../COPYING"
   !insertmacro MUI_PAGE_COMPONENTS
 
-!ifdef WITH_GTK
-  ; GTK+ install dir page
-  !define MUI_PAGE_CUSTOMFUNCTION_PRE		preGtkDirPage
-  !define MUI_PAGE_CUSTOMFUNCTION_LEAVE		postGtkDirPage
-  !define MUI_DIRECTORYPAGE_VARIABLE		$GTK_FOLDER
-  !insertmacro MUI_PAGE_DIRECTORY
-!endif
-
   ; Pidgin install dir page
   !insertmacro MUI_PAGE_DIRECTORY
 
@@ -314,7 +296,7 @@ Section -SecUninstallOldPidgin
           IfErrors uninstall_problem
             ; Ready to uninstall..
             ClearErrors
-            ExecWait '"$TEMP\$R6" /S _?=$R1'
+            ExecWait '"$TEMP\$R6" /S /KEEPGTK=1 _?=$R1'
             IfErrors exec_error
               Delete "$TEMP\$R6"
             Goto done
@@ -345,77 +327,38 @@ SectionEnd
 ;--------------------------------
 ;GTK+ Runtime Install Section
 
-!ifdef WITH_GTK
 Section $(GTK_SECTION_TITLE) SecGtk
 
-  Call CheckUserInstallRights
-  Pop $R1
+  InitPluginsDir
+  StrCpy $R1 "$PLUGINSDIR\gtk.zip"
+!ifdef OFFLINE_INSTALLER
 
-  SetOutPath $TEMP
-  SetOverwrite on
-  File /oname=gtk-runtime.exe ${GTK_RUNTIME_INSTALLER}
-  SetOverwrite off
+  SetOutPath $PLUGINSDIR
+  File /oname=gtk.zip "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}.zip"
 
-  Call DoWeNeedGtk
-  Pop $R0
-  Pop $R6
+!else
 
-  StrCmp $R0 "0" have_gtk
-  StrCmp $R0 "1" upgrade_gtk
-  StrCmp $R0 "2" upgrade_gtk
-  ;StrCmp $R0 "3" no_gtk no_gtk
+  ; We need to download the GTK+ runtime
+  retry:
+  StrCpy $R2 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&gtk_version=${GTK_INSTALL_VERSION}&dl_pkg=gtk"
+  DetailPrint "Downloading GTK+ Runtime ... ($R2)"
+  NSISdl::download /TIMEOUT=10000 $R2 $R1
+  Pop $R0
+  StrCmp $R0 "cancel" done
+  StrCmp $R0 "success" +2
+    MessageBox MB_RETRYCANCEL "$(PIDGIN_GTK_DOWNLOAD_ERROR) : $R1" /SD IDCANCEL IDRETRY retry IDCANCEL done
 
-  ;no_gtk:
-    StrCmp $R1 "NONE" gtk_no_install_rights
-    ClearErrors
-    ExecWait '"$TEMP\gtk-runtime.exe" /L=$LANGUAGE $ISSILENT /D=$GTK_FOLDER'
-    IfErrors gtk_install_error done
+!endif
 
-  upgrade_gtk:
-    StrCpy $GTK_FOLDER $R6
-    StrCmp $R0 "2" +2 ; Upgrade isn't optional
-    MessageBox MB_YESNO $(GTK_UPGRADE_PROMPT) /SD IDYES IDNO done
-    ClearErrors
-    ExecWait '"$TEMP\gtk-runtime.exe" /L=$LANGUAGE $ISSILENT /D=$GTK_FOLDER'
-    IfErrors gtk_install_error done
+  SetOutPath "$INSTDIR"
 
-    gtk_install_error:
-      Delete "$TEMP\gtk-runtime.exe"
-      MessageBox MB_OK $(GTK_INSTALL_ERROR) /SD IDOK
-      Quit
+  nsisunz::UnzipToLog $R1 "$INSTDIR"
+  Pop $R0
+  StrCmp $R0 "success" +2
+    DetailPrint "$R0" ;print error message to log
 
-  have_gtk:
-    StrCpy $GTK_FOLDER $R6
-    StrCmp $R1 "NONE" done ; If we have no rights, we can't re-install
-    ; Even if we have a sufficient version of GTK+, we give user choice to re-install.
-    ClearErrors
-    ExecWait '"$TEMP\gtk-runtime.exe" /L=$LANGUAGE $ISSILENT'
-    IfErrors gtk_install_error
-    Goto done
-
-  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-  ; end got_install rights
-
-  gtk_no_install_rights:
-    ; Install GTK+ to Pidgin install dir
-    StrCpy $GTK_FOLDER $INSTDIR
-    ClearErrors
-    ExecWait '"$TEMP\gtk-runtime.exe" /L=$LANGUAGE $ISSILENT /D=$GTK_FOLDER'
-    IfErrors gtk_install_error
-      SetOverwrite on
-      ClearErrors
-      CopyFiles /FILESONLY "$GTK_FOLDER\bin\*.dll" $GTK_FOLDER
-      SetOverwrite off
-      IfErrors gtk_install_error
-        Delete "$GTK_FOLDER\bin\*.dll"
-        Goto done
-  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-  ; end gtk_no_install_rights
-
   done:
-    Delete "$TEMP\gtk-runtime.exe"
 SectionEnd ; end of GTK+ section
-!endif
 
 ;--------------------------------
 ;Pidgin Install Section
@@ -427,15 +370,12 @@ Section $(PIDGIN_SECTION_TITLE) SecPidgi
   Call CheckUserInstallRights
   Pop $R0
 
-  ; Get GTK+ lib dir if we have it..
-
-  StrCmp $R0 "NONE" pidgin_none
+  StrCmp $R0 "NONE" pidgin_install_files
   StrCmp $R0 "HKLM" pidgin_hklm pidgin_hkcu
 
   pidgin_hklm:
-    ReadRegStr $R1 HKLM ${GTK_REG_KEY} "Path"
     WriteRegStr HKLM "${HKLM_APP_PATHS_KEY}" "" "$INSTDIR\pidgin.exe"
-    WriteRegStr HKLM "${HKLM_APP_PATHS_KEY}" "Path" "$R1\bin"
+    WriteRegStr HKLM "${HKLM_APP_PATHS_KEY}" "Path" "$INSTDIR\Gtk\bin"
     WriteRegStr HKLM ${PIDGIN_REG_KEY} "" "$INSTDIR"
     WriteRegStr HKLM ${PIDGIN_REG_KEY} "Version" "${PIDGIN_VERSION}"
     WriteRegStr HKLM "${PIDGIN_UNINSTALL_KEY}" "DisplayName" "Pidgin"
@@ -449,10 +389,6 @@ Section $(PIDGIN_SECTION_TITLE) SecPidgi
     Goto pidgin_install_files
 
   pidgin_hkcu:
-    ReadRegStr $R1 HKCU ${GTK_REG_KEY} "Path"
-    StrCmp $R1 "" 0 +2
-      ReadRegStr $R1 HKLM ${GTK_REG_KEY} "Path"
-
     WriteRegStr HKCU ${PIDGIN_REG_KEY} "" "$INSTDIR"
     WriteRegStr HKCU ${PIDGIN_REG_KEY} "Version" "${PIDGIN_VERSION}"
     WriteRegStr HKCU "${PIDGIN_UNINSTALL_KEY}" "DisplayName" "Pidgin"
@@ -463,9 +399,6 @@ Section $(PIDGIN_SECTION_TITLE) SecPidgi
     WriteRegStr HKCU "${PIDGIN_UNINSTALL_KEY}" "UninstallString" "$INSTDIR\${PIDGIN_UNINST_EXE}"
     Goto pidgin_install_files
 
-  pidgin_none:
-    ReadRegStr $R1 HKLM ${GTK_REG_KEY} "Path"
-
   pidgin_install_files:
     SetOutPath "$INSTDIR"
     ; Pidgin files
@@ -476,9 +409,7 @@ Section $(PIDGIN_SECTION_TITLE) SecPidgi
     Delete "$INSTDIR\plugins\libjabber.dll"
 
     File /r ..\..\..\${PIDGIN_INSTALL_DIR}\*.*
-    !ifdef DEBUG
     File "${PIDGIN_INSTALLER_DEPS}\exchndl.dll"
-    !endif
 
     ; Check if Perl is installed, if so add it to the AppPaths
     ReadRegStr $R2 HKLM ${PERL_REG_KEY} ""
@@ -656,6 +587,28 @@ SectionGroupEnd
   SectionEnd
 SectionGroupEnd
 
+Section /o $(DEBUG_SYMBOLS_SECTION_TITLE) SecDebugSymbols
+  InitPluginsDir
+
+  ; We need to download and extract the debug symbols
+  StrCpy $R1 "$PLUGINSDIR\pidgin-${PIDGIN_VERSION}-dbgsym.zip"
+  retry:
+  StrCpy $R2 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=dbgsym"
+  DetailPrint "Downloading Debug Symbols... ($R2)"
+  NSISdl::download /TIMEOUT=10000 $R2 $R1
+  Pop $R0
+  StrCmp $R0 "cancel" done
+  StrCmp $R0 "success" +2
+    MessageBox MB_RETRYCANCEL "$(PIDGIN_DEBUGSYMBOLS_ERROR) : $R2" /SD IDCANCEL IDRETRY retry IDCANCEL done
+
+  nsisunz::UnzipToLog $R1 "$INSTDIR"
+  Pop $R0
+  StrCmp $R0 "success" +2
+    DetailPrint "$R0" ;print error message to log
+
+  done:
+SectionEnd
+
 ;--------------------------------
 ;Uninstaller Section
 
@@ -807,11 +760,20 @@ Section Uninstall
     Delete "$INSTDIR\softokn3.dll"
     Delete "$INSTDIR\ssl3.dll"
     Delete "$INSTDIR\${PIDGIN_UNINST_EXE}"
-    !ifdef DEBUG
     Delete "$INSTDIR\exchndl.dll"
-    !endif
     Delete "$INSTDIR\install.log"
 
+    ; Remove the debug symbols
+    RMDir /r "$INSTDIR\pidgin-${PIDGIN_VERSION}-dbgsym"
+
+    ; Remove the local GTK+ copy (if we're not just upgrading)
+    ${GetParameters} $R0
+    ClearErrors
+    ${GetOptions} "$R3" "/KEEPGTK=" $R1
+    IfErrors +2
+    StrCmp $R1 "1" +2
+    RMDir /r "$INSTDIR\Gtk"
+
     ;Try to remove Pidgin install dir (only if empty)
     RMDir "$INSTDIR"
 
@@ -837,10 +799,8 @@ SectionEnd ; end of uninstall section
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
   !insertmacro MUI_DESCRIPTION_TEXT ${SecPidgin} \
         $(PIDGIN_SECTION_DESCRIPTION)
-!ifdef WITH_GTK
   !insertmacro MUI_DESCRIPTION_TEXT ${SecGtk} \
         $(GTK_SECTION_DESCRIPTION)
-!endif
 
   !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} \
         $(PIDGIN_SHORTCUTS_SECTION_DESCRIPTION)
@@ -1133,93 +1093,42 @@ FunctionEnd
 ; Call DoWeNeedGtk
 ; First Pop:
 ;   0 - We have the correct version
-;       Second Pop: Key where Version was found
 ;   1 - We have an old version that should work, prompt user for optional upgrade
-;       Second Pop: HKLM or HKCU depending on where GTK was found.
 ;   2 - We have an old version that needs to be upgraded
-;       Second Pop: HKLM or HKCU depending on where GTK was found.
 ;   3 - We don't have Gtk+ at all
-;       Second Pop: "NONE, HKLM or HKCU" depending on our rights..
 ;
 Function DoWeNeedGtk
-  ; Logic should be:
-  ; - Check what user rights we have (HKLM or HKCU)
-  ;   - If HKLM rights..
-  ;     - Only check HKLM key for GTK+
-  ;       - If installed to HKLM, check it and return.
-  ;   - If HKCU rights..
-  ;     - First check HKCU key for GTK+
-  ;       - if good or bad exists stop and ret.
-  ;     - If no hkcu gtk+ install, check HKLM
-  ;       - If HKLM ver exists but old, return as if no ver exits.
-  ;   - If no rights
-  ;     - Check HKLM
   Push $0
   Push $1
-  Push $2
-  Push $3
 
-  Call CheckUserInstallRights
-  Pop $1
-  StrCmp $1 "HKLM" check_hklm
-  StrCmp $1 "HKCU" check_hkcu check_hklm
-    check_hkcu:
-      ReadRegStr $0 HKCU ${GTK_REG_KEY} "Version"
-      StrCpy $2 "HKCU"
-      StrCmp $0 "" check_hklm have_gtk
+  IfFileExists "$INSTDIR\Gtk\CONTENTS" +3
+  Push "3"
+  Goto done
 
-    check_hklm:
-      ReadRegStr $0 HKLM ${GTK_REG_KEY} "Version"
-      StrCpy $2 "HKLM"
-      StrCmp $0 "" no_gtk have_gtk
+  ClearErrors
+  ${ConfigRead} "$INSTDIR\Gtk\CONTENTS" "Bundle Version " $0
+  IfErrors 0 +3
+  Push "3"
+  Goto done
 
-  have_gtk:
-    ; GTK+ is already installed; check version.
-    ; Change this to not even run the GTK installer if this version is already installed.
-    ${VersionCompare} ${GTK_INSTALL_VERSION} $0 $3
-    IntCmp $3 1 +1 good_version good_version
-    ${VersionCompare} ${GTK_MIN_VERSION} $0 $3
+  ${VersionCompare} ${GTK_INSTALL_VERSION} $0 $1
+  IntCmp $1 1 +3
+  Push "0" ; Have a good version
+  Goto done
 
-      ; Bad version. If hklm ver and we have hkcu or no rights.. return no gtk
-      StrCmp $1 "NONE" no_gtk ; if no rights.. can't upgrade
-      StrCmp $1 "HKCU" 0 +2   ; if HKLM can upgrade..
-      StrCmp $2 "HKLM" no_gtk ; have hkcu rights.. if found hklm ver can't upgrade..
-      Push $2
-      IntCmp $3 1 +3
-        Push "1" ; Optional Upgrade
-        Goto done
-        Push "2" ; Mandatory Upgrade
-        Goto done
+  ${VersionCompare} ${GTK_MIN_VERSION} $0 $1
+  IntCmp $1 1 +3
+  Push "1" ; Optional Upgrade
+  Goto done
+  Push "2" ; Mandatory Upgrade
+  Goto done
 
-  good_version:
-    StrCmp $2 "HKLM" have_hklm_gtk have_hkcu_gtk
-      have_hkcu_gtk:
-        ; Have HKCU version
-        ReadRegStr $0 HKCU ${GTK_REG_KEY} "Path"
-        Goto good_version_cont
-
-      have_hklm_gtk:
-        ReadRegStr $0 HKLM ${GTK_REG_KEY} "Path"
-        Goto good_version_cont
-
-    good_version_cont:
-      Push $0  ; The path to existing GTK+
-      Push "0"
-      Goto done
-
-  no_gtk:
-    Push $1 ; our rights
-    Push "3"
-    Goto done
-
   done:
-  ; The top two items on the stack are what we want to return
-  Exch 4
+  ; The item on the stack is what we want to return
+  Exch
   Pop $1
-  Exch 4
+  Exch
   Pop $0
-  Pop $3
-  Pop $2
 FunctionEnd
 
 
@@ -1336,7 +1245,7 @@ Function .onInit
 
   ClearErrors
   ${GetOptions} "$R3" "/L=" $R1
-  IfErrors +4
+  IfErrors +3
   StrCpy $LANGUAGE $R1
   Goto skip_lang
 
@@ -1402,6 +1311,7 @@ Function un.onInit
 FunctionEnd
 
 Function un.onInit
+
   Call un.RunCheck
   StrCpy $name "Pidgin ${PIDGIN_VERSION}"
 ;LogSet on
@@ -1415,98 +1325,23 @@ Function preWelcomePage
 
 Function preWelcomePage
   Push $R0
-
-!ifndef WITH_GTK
-  ; If this installer dosn't have GTK, check whether we need it.
-  ; We do this here and not in .onInit because language change in
-  ; .onInit doesn't take effect until it is finished.
-  Call DoWeNeedGtk
-  Pop $R0
-  Pop $GTK_FOLDER
-
-  IntCmp $R0 1 done done
-  MessageBox MB_OK $(GTK_INSTALLER_NEEDED) /SD IDOK
-  Quit
-
-  done:
-
-!else
   Push $R1
-  Push $R2
 
   Call DoWeNeedGtk
   Pop $R0
-  Pop $R2
-  IntCmp $R0 1 gtk_selection_done gtk_not_mandatory
+  IntCmp $R0 1 done gtk_not_mandatory
     ; Make the GTK+ Section RO if it is required.
     !insertmacro SetSectionFlag ${SecGtk} ${SF_RO}
-    Goto gtk_selection_done
+    Goto done
   gtk_not_mandatory:
     ; Don't select the GTK+ section if we already have this version or newer installed
     !insertmacro UnselectSection ${SecGtk}
-  gtk_selection_done:
 
   done:
-  Pop $R2
   Pop $R1
-!endif
   Pop $R0
 FunctionEnd
 
-!ifdef WITH_GTK
-Function preGtkDirPage
-  Push $R0
-  Push $R1
-  Call DoWeNeedGtk
-  Pop $R0
-  Pop $R1
-
-  IntCmp $R0 2 +2 +2 no_gtk
-  StrCmp $R0 "3" no_gtk no_gtk
-
-  ; Don't show dir selector.. Upgrades are done to existing path..
-  Pop $R1
-  Pop $R0
-  Abort
-
-  no_gtk:
-    StrCmp $R1 "NONE" 0 no_gtk_cont
-      ; Got no install rights..
-      Pop $R1
-      Pop $R0
-      Abort
-    no_gtk_cont:
-      ; Suggest path..
-      StrCmp $R1 "HKCU" 0 hklm1
-        ${GetParent} $SMPROGRAMS $R0
-        ${GetParent} $R0 $R0
-        StrCpy $R0 "$R0\GTK\2.0"
-        Goto got_path
-      hklm1:
-        StrCpy $R0 "${GTK_DEFAULT_INSTALL_PATH}"
-
-   got_path:
-     StrCpy $name "GTK+ ${GTK_INSTALL_VERSION}"
-     StrCpy $GTK_FOLDER $R0
-     Pop $R1
-     Pop $R0
-FunctionEnd
-
-Function postGtkDirPage
-  Push $R0
-  StrCpy $name "Pidgin ${PIDGIN_VERSION}"
-  Push $GTK_FOLDER
-  Call VerifyDir
-  Pop $R0
-  StrCmp $R0 "0" 0 done
-    MessageBox MB_OK $(GTK_BAD_INSTALL_PATH) /SD IDOK
-    Pop $R0
-    Abort
-  done:
-  Pop $R0
-FunctionEnd
-!endif
-
 ; SpellChecker Related Functions
 ;-------------------------------
 
@@ -1634,6 +1469,8 @@ Function InstallAspellAndDict
   Pop $R0 ;This is the language code
   Push $R1
 
+  InitPluginsDir
+
   IfErrors done ; We weren't able to convert the section to lang code
 
   retry:
@@ -1668,12 +1505,12 @@ Function InstallAspell
   IntCmp $R0 15 installed
 
   ; If this is the check after installation, don't infinite loop on failure
-  StrCmp $R1 "$TEMP\aspell_installer.exe" 0 +3
+  StrCmp $R1 "$PLUGINSDIR\aspell_installer.exe" 0 +3
     StrCpy $R0 $(ASPELL_INSTALL_FAILED)
     Goto done
 
   ; We need to download and install aspell
-  StrCpy $R1 "$TEMP\aspell_installer.exe"
+  StrCpy $R1 "$PLUGINSDIR\aspell_installer.exe"
   StrCpy $R2 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=aspell_core"
   DetailPrint "Downloading Aspell... ($R2)"
   NSISdl::download /TIMEOUT=10000 $R2 $R1
@@ -1709,12 +1546,12 @@ Function InstallAspellDictionary
   StrCmp $R2 "" 0 installed
 
   ; If this is the check after installation, don't infinite loop on failure
-  StrCmp $R1 "$TEMP\aspell_dict-$R0.exe" 0 +3
+  StrCmp $R1 "$PLUGINSDIR\aspell_dict-$R0.exe" 0 +3
     StrCpy $R0 $(ASPELL_INSTALL_FAILED)
     Goto done
 
   ; We need to download and install aspell
-  StrCpy $R1 "$TEMP\aspell_dict-$R0.exe"
+  StrCpy $R1 "$PLUGINSDIR\aspell_dict-$R0.exe"
   StrCpy $R3 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=lang_$R0"
   DetailPrint "Downloading the Aspell $R0 Dictionary... ($R3)"
   NSISdl::download /TIMEOUT=10000 $R3 $R1
@@ -1724,10 +1561,10 @@ Function InstallAspellDictionary
     Goto done
   ; Use a specific temporary $OUTDIR for each dictionary because the installer doesn't clean up after itself
   StrCpy $R4 "$OUTDIR"
-  SetOutPath "$TEMP\aspell_dict-$R0"
+  SetOutPath "$PLUGINSDIR\aspell_dict-$R0"
   ExecWait '"$R1"'
   SetOutPath "$R4"
-  RMDir /r "$TEMP\aspell_dict-$R0"
+  RMDir /r "$PLUGINSDIR\aspell_dict-$R0"
   Delete $R1
   Goto check ; Check that it is now installed correctly
 
============================================================
--- pidgin/win32/nsis/translations/afrikaans.nsh	1188713c0bc9c6e6dbb16d4051de5c7d7e357c9d
+++ pidgin/win32/nsis/translations/afrikaans.nsh	39d508dd66402f1c1f0e2a4713ef594e7eca219e
@@ -12,7 +12,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Die installeerder loop reeds."
 !define PIDGIN_IS_RUNNING			"Pidgin loop reeds ?ns.  Verlaat Pidgin eers en probeer dan weer."
-!define GTK_INSTALLER_NEEDED			"Die GTK+-looptydomgewing is ?oek ?oet opgegradeer word.$\rInstalleer asb. v{GTK_MIN_VERSION} of ho?van die GTK+-looptyd"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Volgende >"
@@ -31,7 +30,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Skep 'n Begin-kieslysinskrywing vir Pidgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"'n Ou weergawe van die GTK+-looptyd is gevind. Wil u opgradeer?$\rLet wel: $(^Name) werk dalk net as u so maak."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Besoek die WinPidgin-webblad"
@@ -40,8 +38,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Kan nie die tans ge?talleerde weergawe van Pidgin verwyder nie. Die nuwe weergawe sal ge?talleer word sonder om die huidige een te verwyder."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Fout met installering van GTK+-looptyd."
-!define GTK_BAD_INSTALL_PATH			"Die pad wat u verskaf het, is ontoeganklik of kan nie geskep word nie."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI-hanteerders"
============================================================
--- pidgin/win32/nsis/translations/albanian.nsh	a5bf2063187cd21b58281867d8a3b91c4afe7dc5
+++ pidgin/win32/nsis/translations/albanian.nsh	563d09757ae1c6127f6be3884fff6c4e146ebb31
@@ -8,8 +8,6 @@
 ;;  Author: Besnik Bleta <besnik at spymac.com>
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"Ose mungon mjedisi GTK+ runtime ose lyp p?rdit?sim.$\rJu lutem instaloni GTK+ runtime v${GTK_MIN_VERSION} ose m? t? vonsh?m"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"M? tej >"
@@ -23,14 +21,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"U gjet nj? version i vjet?r p?r GTK+ runtime. Doni t? p?rdit?sohet?$\rSh?nim: Pidgin-i mund t? mos punoj? n?se nuk e b?ni."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Vizitoni Faqen Web t? Pidgin-it p?r Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"gabim gjat? instalimit t? GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Shtegu q? treguat nuk mund t? arrihet ose krijohet."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"?instaluesi nuk gjeti dot z?ra regjistri p?r Pidgin-in.$\rKa mund?si q? k?t? zbatim ta ket? instaluar nj? tjet?r p?rdorues."
============================================================
--- pidgin/win32/nsis/translations/arabic.nsh	88c7dd6610a6985f7537bdfd0a2b87eac238cbfc
+++ pidgin/win32/nsis/translations/arabic.nsh	bd9c19d9e0a16f7f6bbd226cdc09e15e6b702199
@@ -9,7 +9,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"????????
 !define PIDGIN_IS_RUNNING			"????????  ???????? ? ?????."
-!define GTK_INSTALLER_NEEDED			"?? ?? (GTK+) ?? ? ??????$\r?????${GTK_MIN_VERSION} ? ?? ??? ??"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"???>"
@@ -29,7 +28,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"?? ????? ? ?????"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"?????? ??? ??. ???????$\r?? ? ???(^Name) ?????."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"? ????? ?? ????
@@ -38,8 +36,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"?????????? ???????????? ?????????????."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"???? ????? ??."
-!define GTK_BAD_INSTALL_PATH			"?????? ???????? ???
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"??? ????
============================================================
--- pidgin/win32/nsis/translations/basque.nsh	1bccf37bdd79db6e139007a2754692e10edb3828
+++ pidgin/win32/nsis/translations/basque.nsh	f12b66860e6a95de0e95c2420b94fbe2e833ef30
@@ -9,7 +9,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Instalatzailea martxan dago."
 !define PIDGIN_IS_RUNNING			"Pidgin istantzia bat dago martxan. Pidgin itxi eta berriro saiatu."
-!define GTK_INSTALLER_NEEDED			"GTK+ exekuzio-ingurunea falta da, edo eguneratu egin beharko litzateke.$\rGTK+ exekuzio-ingurunearen ${GTK_MIN_VERSION} bertsioa edo berriagoa instalatu"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Jarraitu >"
@@ -29,7 +28,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Pidgin-entzako lasterbidea Abio-Menuan"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"GTK+ exekuzio-ingurunearen bertsio zahar bat aurkitu da. Eguneratu egin nahi al duzu?$\rOharra: Bestela, posible da $(^Name) ez ibiltzea."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Pidgin Webgunera etorri"
@@ -38,8 +36,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Ezin izan da jadanik instalatuta zegoen Pidgin bertsioa kendu. Aurreko bertsioa kendu gabe instalatuko da bertsio berria."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Errorea GTK+ exekuzio-ingurunea instalatzean."
-!define GTK_BAD_INSTALL_PATH			"The path you entered can not be accessed or created."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI Kudeatzaileak"
============================================================
--- pidgin/win32/nsis/translations/bulgarian.nsh	8908ef2eb165adf25867ae338f273e10baee28f8
+++ pidgin/win32/nsis/translations/bulgarian.nsh	fd29985c0f45932ff647ab7ef167a88c8ad63b88
@@ -8,9 +8,6 @@
 ;;
 
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"GTK+ runtime ??? ????????\r????????v${GTK_MIN_VERSION} ? ???-
 ; Components Page
 !define PIDGIN_SECTION_TITLE			"Pidgin ??? ?????? (?? ?
 !define GTK_SECTION_TITLE			"GTK+ Runtime ?? (required)"
@@ -19,11 +16,8 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"?? ??GTK+ runtime ???????????\rNote: Pidgin ????????????
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"??????? ?GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"?????? ??????? ???
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"???????????? ????idgin.$\r??????????????"
============================================================
--- pidgin/win32/nsis/translations/catalan.nsh	e34524ccef38a7a58969f8e051d1cb03cf8b6a2b
+++ pidgin/win32/nsis/translations/catalan.nsh	a722f84ef63b83b5d5909d1d5669f540e3d71814
@@ -12,7 +12,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"L'instal.lador encara est?xecutant-se."
 !define PIDGIN_IS_RUNNING			"Hi ha una inst?ia del Pidgin executant-se. Surt del Pidgin i torna a intentar-ho."
-!define GTK_INSTALLER_NEEDED			"L'entorn d'execuci?K+ no existeix o necessita ?er actualitzat.$\rSius plau instal.la la versi?TK_MIN_VERSION} o superior de l'entonr GTK+"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Seg?"
@@ -34,14 +33,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"S'ha trobat una versi?tiga de l'entorn d'execuci?K. Vols actualitzar-la?$\rNota: $(^Name) no funcionar?ino ho fas."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visita la p?na web de Pidgin per Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Error installlant l'entorn d'execuci?K+."
-!define GTK_BAD_INSTALL_PATH			"El directori que has introdu?no pot ?er accedit o creat."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"L'instal.lador podria no trobar les entrades del registre de Pidgin.$\rProbablement un altre usuari ha instal.lat aquesta aplicaci?============================================================
--- pidgin/win32/nsis/translations/czech.nsh	db42684cc46fdc60da46531c4845d5cfa493394e
+++ pidgin/win32/nsis/translations/czech.nsh	6968a88331a3d6fcd72831fc5c9d684363792798
@@ -8,8 +8,6 @@
 ;;  Version 2
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"GTK+ runtime bu? chyb?nebo je pot?prov? upgrade.$\rProve? instalaci verze${GTK_MIN_VERSION} nebo vy???
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Dal??"
@@ -23,14 +21,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Byla nalezena star??erze GTK+ runtime. Chcete prov? upgrade?$\rUpozorn?: Bez upgradu $(^Name) nemus?racovat spr??
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Nav?t?t Windows Pidgin Web Page"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Chyba p?stalaci GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Zadan?esta je nedostupn?nebo ji nelze vytvo?
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Odinstal? proces nem?aj?z?amy pro Pidgin v registrech.$\rPravd?dobn?nstalaci t? aplikace provedl jin?atel."
============================================================
--- pidgin/win32/nsis/translations/danish.nsh	c704ee4a76c9f050bb34c4b1dc6207bc0f2c75b2
+++ pidgin/win32/nsis/translations/danish.nsh	ffc861be20e4981ae58ceb634fbe8414b6fe63b2
@@ -8,9 +8,6 @@
 ;;  Version 2
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"GTK+ runtime environment enten mangler eller skal opgraderes.$\rInstall?venligst GTK+ runtime version v${GTK_MIN_VERSION} eller h?."
-
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"N?e >"
 !define PIDGIN_LICENSE_BOTTOM_TEXT		"$(^Name) er frigivet under GPL licensen. Licensen er kun medtaget her til generel orientering. $_CLICK"
@@ -23,14 +20,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Der blev fundet en ?re version af GTK+ runtime. ?sker du at opgradere?$\rNB: $(^Name) virker muligvis ikke uden denne opgradering."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Bes?ndows Pidgin's hjemmeside"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Fejl under installeringen af GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Stien du har angivet kan ikke findes eller oprettes."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Afinstallationen kunne ikke finde Pidgin i registreringsdatabasen.$\rMuligvis har en anden bruger installeret programmet."
============================================================
--- pidgin/win32/nsis/translations/dutch.nsh	56fa272df140231804c55cba071c84c7589d3f66
+++ pidgin/win32/nsis/translations/dutch.nsh	8c095ab06aaacb9d37973eb4bff20551c9c77ba6
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Er is al een installatie actief."
 !define PIDGIN_IS_RUNNING			"Pidgin wordt op dit moment uitgevoerd. Sluit Pidgin af en start de installatie opnieuw."
-!define GTK_INSTALLER_NEEDED			"De GTK+ runtime-omgeving is niet aanwezig of moet vernieuwd worden.$\rInstalleer v${GTK_MIN_VERSION} of nieuwer van de GTK+ runtime-omgeving"
 
 
 ; License Page
@@ -26,14 +25,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Er is een oude versie van GTK+ gevonden. Wilt u deze bijwerken?$\rLet op: $(^Name) werkt misschien niet als u dit niet doet."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Neem een kijkje op de Windows Pidgin webpagina"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Fout bij installatie van GTK+ runtime omgeving."
-!define GTK_BAD_INSTALL_PATH			"Het door u gegeven pad kan niet benaderd worden."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Het verwijderingsprogramma voor Pidgin kon geen register-ingangen voor Pidgin vinden.$\rWaarschijnlijk heeft een andere gebruiker het programma ge?talleerd."
============================================================
--- pidgin/win32/nsis/translations/english.nsh	ed77d02805f9a1b33cf1e4a7d1e91870182fa3c4
+++ pidgin/win32/nsis/translations/english.nsh	2842813546b2ed8c25c2b844674876614c28c72c
@@ -14,7 +14,6 @@
 ; Startup Checks
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING INSTALLER_IS_RUNNING			"The installer is already running."
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_IS_RUNNING			"An instance of Pidgin is currently running.  Please exit Pidgin and try again."
-!insertmacro PIDGIN_MACRO_DEFAULT_STRING GTK_INSTALLER_NEEDED			"The GTK+ runtime environment is either missing or needs to be upgraded.$\rPlease install v${GTK_MIN_VERSION} or higher of the GTK+ runtime"
 
 ; License Page
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_LICENSE_BUTTON			"Next >"
@@ -32,9 +31,9 @@
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SHORTCUTS_SECTION_DESCRIPTION	"Shortcuts for starting Pidgin"
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_DESKTOP_SHORTCUT_DESC		"Create a shortcut to Pidgin on the Desktop"
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_STARTMENU_SHORTCUT_DESC		"Create a Start Menu entry for Pidgin"
+!insertmacro PIDGIN_MACRO_DEFAULT_STRING DEBUG_SYMBOLS_SECTION_TITLE "Debug Symbols (for reporting crashes)"
 
 ; GTK+ Directory Page
-!insertmacro PIDGIN_MACRO_DEFAULT_STRING GTK_UPGRADE_PROMPT			"An old version of the GTK+ runtime was found. Do you wish to upgrade?$\rNote: $(^Name) may not work unless you do."
 
 ; Installer Finish Page
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_FINISH_VISIT_WEB_SITE		"Visit the Pidgin Web Page"
@@ -43,8 +42,6 @@
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Unable to uninstall the currently installed version of Pidgin. The new version will be installed without removing the currently installed version."
 
 ; GTK+ Section Prompts
-!insertmacro PIDGIN_MACRO_DEFAULT_STRING GTK_INSTALL_ERROR			"Error installing GTK+ runtime."
-!insertmacro PIDGIN_MACRO_DEFAULT_STRING GTK_BAD_INSTALL_PATH			"The path you entered can not be accessed or created."
 
 ; URL Handler section
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING URI_HANDLERS_SECTION_TITLE		"URI Handlers"
@@ -82,3 +79,6 @@
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SWEDISH		"Swedish"
 !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_UKRAINIAN		"Ukrainian"
 
+!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_DEBUGSYMBOLS_ERROR "Error Installing Debug Symbols"
+
+!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_GTK_DOWNLOAD_ERROR "Error Downloading the GTK+ Runtime"
============================================================
--- pidgin/win32/nsis/translations/finnish.nsh	2393f10d449ec75f2b6f79376d84d4b18c9ce620
+++ pidgin/win32/nsis/translations/finnish.nsh	9df00b52d6b28dd62000e28da20ae7eea9c2df53
@@ -13,7 +13,6 @@
 ; Startup checks
 !define INSTALLER_IS_RUNNING			"Asennusohjelma on jo k?niss?
 !define PIDGIN_IS_RUNNING			"Pidgin on t??etkell??niss?Poistu Pidginist?a yrit?udelleen."
-!define GTK_INSTALLER_NEEDED			"Ajonaikainen GTK+-ymp?st?ko puuttuu tai tarvitsee p?ityst?\rOle hyv?a asenna v${GTK_MIN_VERSION} tai uudempi ajonaikainen GTK+-ymp?st? 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Seuraava >"
@@ -33,14 +32,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   	"Tee Pidgin-pikakuvake k?nistysvalikkoon"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Vanha versio ajonaikaisesta GTK+-ymp?st? l?nyt. Tahdotko p?itt?$\rHuomio: $(^Name) ei v?t?tt?oimi mik? j?t p?itt?tt?
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Vieraile Pidginin WWW-sivustolla"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Virhe asennettaessa ajonaikaista GTK+-ymp?st?
-!define GTK_BAD_INSTALL_PATH			"Antamasi polku ei toimi tai sit?i voi luoda."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI-k?ttelij?
============================================================
--- pidgin/win32/nsis/translations/french.nsh	97e670a4e2d5860c59c8e8f4ed5c9fac87782da2
+++ pidgin/win32/nsis/translations/french.nsh	a7e0035aff3dd7ff8b9971ca8d75c35d9de3dd21
@@ -1,4 +1,3 @@
-;;  vim:syn=winbatch:fileencoding=cp1252:
 ;;
 ;;  french.nsh
 ;;
@@ -15,7 +14,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Le programme d'installation est d? en cours d'ex?tion."
 !define PIDGIN_IS_RUNNING				"Une instance de Pidgin est en cours d'ex?tion. Veuillez quitter Pidgin et r?sayer."
-!define GTK_INSTALLER_NEEDED			"Les biblioth?es de l'environnement GTK+ ne sont pas install? ou ont besoin d'une mise ?our.$\rVeuillez installer la version ${GTK_MIN_VERSION} ou plus r?nte des biblioth?es GTK+."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Suivant >"
@@ -35,7 +33,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Cr? un raccourci pour Pidgin dans le menu D?rrer"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Une ancienne version des biblioth?es GTK+ a ? trouv? Voulez-vous la mettre ?our ?$\rNote : $(^Name) peut ne pas fonctionner si vous ne le faites pas."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visitez la page web de Pidgin Windows" 
@@ -44,8 +41,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Impossible de d?nstaller la version de Pidgin en place. La nouvelle version sera install?sans supprimer la version en place."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Erreur lors de l'installation des biblioth?es GTK+"
-!define GTK_BAD_INSTALL_PATH			"Le dossier d'installation ne peut pas ?e cr?ou n'est pas accessible."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"Gestion des liens (URI)"
============================================================
--- pidgin/win32/nsis/translations/galician.nsh	d51ca361e70900a7c8570f5c3c15d0cbc580625d
+++ pidgin/win32/nsis/translations/galician.nsh	82e3132c47e8091cac9a93f7aefe428ee983e4f7
@@ -9,7 +9,6 @@
 ;;
 
 ; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"O entorno de execuci?e GTK+ falta ou necesita ser actualizado.$\rPor favor, instale a versi?${GTK_MIN_VERSION} do executable GTK+ ou algunha posterior."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Seguinte >"
@@ -23,14 +22,11 @@
 
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Atopouse unha versi?ntiga do executable de GTK+. ?Desexa actualizala?$\rObservaci?$(^Name) non funcionar? menos que o faga."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visite a p?na Web de Pidgin Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Erro ao instalar o executable GTK+."
-!define GTK_BAD_INSTALL_PATH			"Non se puido acceder ou crear a ruta que vd. indicou."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "O desinstalador non puido atopar as entradas no rexistro de Pidgin.$\r?probable que outro usuario instalara a aplicaci?
============================================================
--- pidgin/win32/nsis/translations/german.nsh	375a7ab045df66ce449b2d1bde80611fae352c87
+++ pidgin/win32/nsis/translations/german.nsh	6d1d854184f3feccfcdb537796a7c064ff9f0f00
@@ -12,7 +12,6 @@
 ; Startup checks
 !define INSTALLER_IS_RUNNING			"Der Installer l?t schon."
 !define PIDGIN_IS_RUNNING			"Eine Instanz von Pidgin l?t momentan schon. Beenden Sie Pidgin und versuchen Sie es nochmal."
-!define GTK_INSTALLER_NEEDED			"Die GTK+ Runtime Umgebung fehlt entweder oder muss aktualisiert werden.$\rBitte installieren Sie v${GTK_MIN_VERSION} oder h? der GTK+ Runtime"
  
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Weiter >"
@@ -32,7 +31,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC	"Erstellt einen Eintrag f?gin im Startmen? ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Eine alte Version der GTK+ Runtime wurde gefunden. M?en Sie aktualisieren?$\rHinweis: $(^Name) funktioniert evtl. nicht, wenn Sie nicht aktualisieren."
  
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE	"Besuchen Sie die Pidgin Webseite"
@@ -41,8 +39,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Die aktuell installierte Version von Pidgin kann nicht deinstalliert werden. Die neue Version wird installiert, ohne dass die aktuell installierte Version gel?t wird."
  
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Fehler beim Installieren der GTK+ Runtime."
-!define GTK_BAD_INSTALL_PATH			"Der Pfad, den Sie eingegeben haben, existiert nicht und kann nicht erstellt werden."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI-Behandlung"
============================================================
--- pidgin/win32/nsis/translations/hebrew.nsh	5736f805f1290737c6e9171673dbd50af855d53b
+++ pidgin/win32/nsis/translations/hebrew.nsh	c8de289c174bde7d851c8f4a335eea04cc4f0385
@@ -12,7 +12,6 @@
 ; Startup checks
 !define INSTALLER_IS_RUNNING			"? ??? ?
 !define PIDGIN_IS_RUNNING			"? ???? ?????'????"
-!define GTK_INSTALLER_NEEDED			".???????GTK+ ?????${GTK_MIN_VERSION} .GTK+ ??????? ; License Page
 !define PIDGIN_LICENSE_BUTTON			"? >"
@@ -32,7 +31,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"??? ? ?'????? 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"A?????K+ ????rNote: .???? ??$(^Name)"
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		".Pidgin??? ?@@ -41,8 +39,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"????????????? ????????????"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			".GTK+ ? ????define GTK_BAD_INSTALL_PATH			".?? ??????"
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"??URI"
============================================================
--- pidgin/win32/nsis/translations/hungarian.nsh	ecb7148f472c47f47401e0c7d0aafa8be3abc1fb
+++ pidgin/win32/nsis/translations/hungarian.nsh	c8c8cc19acdbeeefbf1cc8c51c10e92164350baf
@@ -9,7 +9,6 @@
 ;;
 
 ; Startup Checks
-!define GTK_INSTALLER_NEEDED			"A GTK+ futtat?rnyezet hi?zik vagy friss?se sz?s.$\rK?m telep?e a v${GTK_MIN_VERSION} vagy magasabb verzi?GTK+ futtat?rnyezetet."
 !define INSTALLER_IS_RUNNING			"A telep? m?fut."
 !define PIDGIN_IS_RUNNING				"Jelenleg fut a Pidgin egy p??a. L?en ki a Pidginb?s azut?pr?ja ?"
 
@@ -31,7 +30,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Start Men?gyz?l?ehoz? a Pidginhez"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Egy r? verzi?GTK+ futtat?nyezet van telep?e. K?nja friss?ni?$\rMegjegyz? a Pidgin nem fog m?i, ha nem friss?."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"A Windows Pidgin weboldal?k felkeres?"
@@ -41,8 +39,6 @@
 
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Hiba a GTK+ futtat?nyezet telep?se k?n."
-!define GTK_BAD_INSTALL_PATH			"A megadott el?si ?m ?et?, vagy nem hozhat?tre."
 
 !define URI_HANDLERS_SECTION_TITLE		"URI kezel? 
============================================================
--- pidgin/win32/nsis/translations/italian.nsh	dd2b1126edbd7072e97fdbb15f460d65374e8827
+++ pidgin/win32/nsis/translations/italian.nsh	30e0309ac5a26486a145ea1f0ea49fa66d8804b8
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Il programma di installazione ?i?n esecuzione"
 !define PIDGIN_IS_RUNNING			"?attualmente in esecuzione un'istanza di Pidgin. Esci da Pidgin e riprova."
-!define GTK_INSTALLER_NEEDED			"L'ambiente di runtime GTK+ non ?resente o deve essere aggiornato.$\rInstallare GTK+ versione ${GTK_MIN_VERSION} o maggiore"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Avanti >"
@@ -31,7 +30,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Crea una voce per Pidgin nel Menu Avvio"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"?stata trovata una versione precedente di GTK+. Vuoi aggiornarla?$\rNota: $(^Name) potrebbe non funzionare senza l'aggiornamento."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visita la pagina web di Pidgin"
@@ -40,8 +38,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Impossibile rimuovere la versione di Pidgin attualmente presente sul tuo computer. La nuova versione sar?nstallata senza rimuovere la versione precedente."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Error nell'installazione del runtime GTK+."
-!define GTK_BAD_INSTALL_PATH			"Il percorso scelto non pu?sere raggiunto o creato."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"Gestori degli URI"
============================================================
--- pidgin/win32/nsis/translations/japanese.nsh	2dcbca238b646729f168cf7d17d500af7d62d0ac
+++ pidgin/win32/nsis/translations/japanese.nsh	98b4256322e7f2a92dc184899306b9805100c0ae
@@ -12,7 +12,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"?C???X?g?[???????s?????????"
 !define PIDGIN_IS_RUNNING				"Pidgin ????s??????????BPidgin ???????????x??s???????????"
-!define GTK_INSTALLER_NEEDED			"GTK+?????^?C???????????????????A?b?v?O???[?h?????v?????????B$\rv${GTK_MIN_VERSION}???????????GTK+?????^?C??????X?g?[??????????????B"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"????>"
@@ -33,14 +32,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"?X?^?[?g???j???[??Pidgin ??????????? 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"????o?[?W??????TK+?????^?C????????????????B?A?b?v?O???[?h????????$\r???? $(^Name)??A?b?v?O???[?h???????????????????B"
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Windows Pidgin??eb?y?[?W????????????B"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"GTK+?????^?C????C???X?g?[????G???[??????????????B"
-!define GTK_BAD_INSTALL_PATH			"??????????p?X??A?N?Z?X??????????????
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"?A???C???X?g?[????idgin????W?X?g???G???g?????????????????B$\r???????????[?U??C???X?g?[????????????B"
============================================================
--- pidgin/win32/nsis/translations/korean.nsh	4c56f105d61005b6971541877767e858abc96b31
+++ pidgin/win32/nsis/translations/korean.nsh	6e3a3b028fcb2ebf8c6329577efcc906df1a9472
@@ -7,8 +7,6 @@
 ;;  Author: Kyung-uk Son <vvs740 at chol.com>
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"GTK+ ???? ??? ????? ???? ?????? ??????$\rGTK+ ???? ??? v${GTK_MIN_VERSION}??? ??????????????????
 
 ; Components Page
 !define PIDGIN_SECTION_TITLE			"??? ??????@@ -17,11 +15,8 @@
 !define GTK_SECTION_DESCRIPTION		"???? ???????? ???? GUI ??"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"???? ??GTK+ ????? ?????? ?????????$\rNote: ??????? ???????? ????? ??? ???????"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"GTK+ ???? ??? ? ????define GTK_BAD_INSTALL_PATH			"????????? ????????? ?????????"
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "???????? ???? ???????? ??????? ?? ??????$\r? ?????? ??? ?? ?????????? ????????"
============================================================
--- pidgin/win32/nsis/translations/kurdish.nsh	92695f2d505f367d8a607910a652bd471ca1c84b
+++ pidgin/win32/nsis/translations/kurdish.nsh	085474b27276edb6caf3637daabcf367c7eb9967
@@ -12,7 +12,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Sazker jixwe dime?e."
 !define PIDGIN_IS_RUNNING			"Pidgin niha jixwe dime?e. Ji Pidgin ?erkeve ?eke din bicerib?."
-!define GTK_INSTALLER_NEEDED			"Derdora runtime ya GTK+ an tune an rojanekirina w??st e. $\rJi kerema xwe v${GTK_MIN_VERSION} an bilindtir a GTK+ saz bike."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"P?>"
@@ -32,14 +31,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   "Pidgin ?iniv? menuya destp?
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Guhertoyeke kevn a GTK+ hatiye d?n. Tu dixwaz?ilind bik?\rNot: Heke tu nek?dibe ku $(^Name) naxebite."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Were Malpera Pidgin a Windows? 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Di sazkirina GTK+ de ?t?erket."
-!define GTK_BAD_INSTALL_PATH			"r? te niv?nd nay?ihi?tin an afirandin."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Raker t?tiy?registry y?Pidgin ned? $\rQey bikarh?reke din v?ername saz kir."
============================================================
--- pidgin/win32/nsis/translations/lithuanian.nsh	3512e6242b19a052e47ea6b1ce549c6d577714c2
+++ pidgin/win32/nsis/translations/lithuanian.nsh	956f2113b3f368cb1188db54b473cc90a61e1846
@@ -9,7 +9,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Diegimo programa jau paleista."
 !define PIDGIN_IS_RUNNING			"?uo metu Pidgin yra paleistas. U?darykite ?program?r pabandykite i?ujo."
-!define GTK_INSTALLER_NEEDED			"GTK+ vykdymo meto aplinkos n? arba ji turi b?tnaujinta.$\r?iekite v${GTK_MIN_VERSION} arba naujesn?TK+ vykdymo meto aplinkos versij? 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Toliau >"
@@ -29,7 +28,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Sukurti pradinio meniu ??skirt?idgin."
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Rasta sena GTK+ vykdymo meto aplinkos versija. Ar norite j?tnaujinti?$\rPastaba: $(^Name) gali neveikti, jeigu to nepadarysite."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Aplankyti Pidgin tinklalap?@@ -38,8 +36,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Nepavyko i?gti anks?u ?egtos Pidgin versijos.  Nauja versija bus ?egta nei?gus senosios."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"GTK+ vykdymo meto aplinkos diegimo klaida"
-!define GTK_BAD_INSTALL_PATH			"J?vestas kelias negali b?asiektas ar sukurtas."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI dorokl?
============================================================
--- pidgin/win32/nsis/translations/norwegian.nsh	d49ff5a7a4eade25ddf7eb8dd9a00dcfdb0a78bc
+++ pidgin/win32/nsis/translations/norwegian.nsh	4f107ca544c0b5dd3eee29521f96612333df82ba
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Installeren kj?allerede."
 !define PIDGIN_IS_RUNNING				"En instans av Pidgin kj?fra f?vslutt Pidgin og pr?jen."
-!define GTK_INSTALLER_NEEDED			"GTK+ runtime environment mangler eller trenger en oppgradering.$\rVennligst install?GTK+ v${GTK_MIN_VERSION} eller h?"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Neste >"
@@ -31,14 +30,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Legg til Pidgin i Startmenyen"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"En eldre versjon av GTK+ runtime ble funnet. ?sker du ?ppgradere?$\rMerk: $(^Name) vil kanskje ikke virke hvis du ikke oppgraderer."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Bes?dgin for Windows' Nettside"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"En feil oppstod ved installering av GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Stien du oppga kan ikke aksesseres eller lages."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Avinstalleringsprogrammet kunne ikke finne noen registeroppf? for Pidgin.$\rTrolig har en annen bruker avinstallert denne applikasjonen."
============================================================
--- pidgin/win32/nsis/translations/persian.nsh	608762416f80a3a63de6a0f32e40cba2b69bf3f5
+++ pidgin/win32/nsis/translations/persian.nsh	0ca43783ceddf37f2422969f7e0cc623101689f6
@@ -13,7 +13,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"???????????????"
 !define PIDGIN_IS_RUNNING			"??????????????? ?? ? ?????????? ???."
-!define GTK_INSTALLER_NEEDED			"???? ???TK+ ????? ???? ??? ?? ??$\r?? ??{GTK_MIN_VERSION} ???? ? ????? ???TK+ ? ??"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"??>"
@@ -33,7 +32,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"??????? ????? ??"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"???? ???? ???TK+ ?? ?. ???? ? ? ??? ??$\r??: $(^Name) ??? ?????? ?? ??"
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"?? ? ???????
@@ -42,8 +40,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"???????????????? ?????. ????????????? ???"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"???? ? ???? ???TK+?define GTK_BAD_INSTALL_PATH			"?? ?????????? ??? ??????"
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"???? ?????"
============================================================
--- pidgin/win32/nsis/translations/polish.nsh	5763392020e6243c75a605f1704bfe71a116844b
+++ pidgin/win32/nsis/translations/polish.nsh	beb690ad063828cb2671eb67624b3d46418f7e02
@@ -8,8 +8,6 @@
 ;;  Version 2
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"Runtime ?rodowiska GTK+ zosta? zagubiony lub wymaga upgrade-u.$\r Prosz?ainstaluj v${GTK_MIN_VERSION} albo wy?sz? wersj?untime-u GTK+."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Dalej >"
@@ -22,14 +20,11 @@
 !define GTK_SECTION_DESCRIPTION		"Wieloplatformowe narz?ie GUI, u?ywane w Pidgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Znaleziono star? wersj?untime-u GTK+. Czy chcesz upgrade-owa?\rNote: $(^Name) mo?e nie dzia?a?e?li nie wykonasz procedury."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Wejd? na stron?idgin Web Page"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"B??d instalacji runtime-a GTK+."
-!define GTK_BAD_INSTALL_PATH			"Nie ma dost? do wybranej ?cie?ki / ?aty."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Deinstalator nie mo?e znale??ejestr?la Pidgin.$\r Wskazuje to na to, ?e instalacj?rzeprowadzi? inny u?ytkownik."
============================================================
--- pidgin/win32/nsis/translations/portuguese-br.nsh	e236385c6c255d3f43f939769079f24f03464424
+++ pidgin/win32/nsis/translations/portuguese-br.nsh	2c8f9bac7b53bd9ca57381e4799d944c8bee625f
@@ -8,8 +8,6 @@
 ;;  Version 3
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"O ambiente de tempo de execu? do GTK+ est?usente ou precisa ser atualizado.$\rFavor instalar a vers?v${GTK_MIN_VERSION} ou superior do ambiente de tempo de execu? do GTK+."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Avan? >"
@@ -29,11 +27,8 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   "Crie uma entrada no Menu Iniciar para o Pidgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Uma vers?antiga do ambiente de tempo de execu? do GTK+ foi encontrada. Voc?eseja atualiz?o?$\rNota: O $(^Name) poder??funcionar a menos que voc? fa?"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Erro ao instalar o ambiente de tempo de execu? do GTK+."
-!define GTK_BAD_INSTALL_PATH			"O caminho que voc?igitou n?p?ser acessado ou criado."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visite a p?na da web do Pidgin para Windows"
============================================================
--- pidgin/win32/nsis/translations/portuguese.nsh	d55ecc6f977eba1f90f69430128695315cb84120
+++ pidgin/win32/nsis/translations/portuguese.nsh	748dcc99ed923f17cf79fe2105c94b79602d13d9
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"O instalador j?st? ser executado."
 !define PIDGIN_IS_RUNNING			"Uma inst?ia do Pidgin j?st? ser executada. Saia do Pidgin e tente de novo."
-!define GTK_INSTALLER_NEEDED			"O ambiente de GTK+ est?usente ou precisa de ser actualizado.$\rPor favor instale a vers?v${GTK_MIN_VERSION} ou mais recente do ambiente de GTK+."
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Seguinte >"
@@ -31,14 +30,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   "Criar uma entrada para o Pidgin na Barra de Iniciar"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Foi encontrada uma vers?antiga do ambiente de execu? GTK+. Deseja actualiz?o?$\rNota: O $(^Name) poder??funcionar se n?o fizer."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visite a P?na Web do Pidgin para Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Erro ao instalar o ambiente de execu? GTK+."
-!define GTK_BAD_INSTALL_PATH			"O caminho que digitou n?pode ser acedido nem criado."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"O desinstalador n?encontrou entradas de registo do Pidgin.$\r?prov?l que outro utilizador tenha instalado este programa."
============================================================
--- pidgin/win32/nsis/translations/romanian.nsh	59e27d3f62f96b161d5e6bd6b76b07e3a4ad3e96
+++ pidgin/win32/nsis/translations/romanian.nsh	9814312a1e62e7b6999bc712431f0c93f86f7006
@@ -10,7 +10,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING                     "Instalarea este deja pornit?
 !define PIDGIN_IS_RUNNING                  "O instan?? programului Pidgin este deja pornit??chide?i-o ?i ?erca?i din nou."
-!define GTK_INSTALLER_NEEDED			"Mediul GTK+ nu e prezent sau ave?i o versiune prea veche.$\rInstala?i cel pu?in versiunea v${GTK_MIN_VERSION} a mediului GTK+"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON                      "?ainte >"
@@ -30,14 +29,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   "Creeaz? intrare Pidgin ?meniul Start"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Ave?i o versiune veche a mediului GTK+. Dori?i s? actualiza?i?$\rNot?E posibil ca $(^Name) s?u func?ioneze cu versiunea veche."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE               "Vizita?i pagina de web Windows Pidgin"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Eroare la instalarea mediului GTK+."
-!define GTK_BAD_INSTALL_PATH			"Directorul specificat nu poate fi accesat sau creat."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "Programul de dezinstalare nu a g?t intr? Pidgin ?regi?tri.$\rProbabil un alt utilizator a instalat aceast?plica?ie."
============================================================
--- pidgin/win32/nsis/translations/russian.nsh	d456d5a85b58dce77628eac3df1f975019619c1d
+++ pidgin/win32/nsis/translations/russian.nsh	d5617a09082df156d70c2a2da41a584af28db04e
@@ -8,9 +8,6 @@
 ;;  Version 2
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"??? ? ?? GTK+ ??? ? ???????.$\r???????${GTK_MIN_VERSION} ? ??????GTK+."
-
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"????"
 !define PIDGIN_LICENSE_BOTTOM_TEXT		"$(^Name) ??????? GPL. ?????? ???????? ??$_CLICK"
@@ -22,14 +19,11 @@
 !define GTK_SECTION_DESCRIPTION		"??????????????????? Pidgin."
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"???????GTK+. ? ???????? ?$\r????Pidgin ????? ???????."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"???????dgin ? ????indows."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"??????????GTK+."
-!define GTK_BAD_INSTALL_PATH			"????? ????? ? ????"
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"??????? ???????dgin ???..$\r???????????? ???."
============================================================
--- pidgin/win32/nsis/translations/serbian-latin.nsh	05b551e67eb8b3590afcdf746b326b7017cdd25e
+++ pidgin/win32/nsis/translations/serbian-latin.nsh	16922ec7fe43032fcd73b419859e45fb37120d0b
@@ -7,8 +7,6 @@
 ;;  Author: Danilo Segan <dsegan at gmx.net>
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"GTK+ okolina za izvr?avanje ili nije na? ili se moraunaprediti.$\rMolimo instalirajte v${GTK_MIN_VERSION} ili ve?GTK+ okoline za izvr?avanje"
 
 ; Components Page
 !define PIDGIN_SECTION_TITLE			"Pidgin klijent za brze poruke (neophodno)"
@@ -17,11 +15,8 @@
 !define GTK_SECTION_DESCRIPTION		"Skup oru?a grafi? okru?enje, za vi?e platformi, koristi ga Pidgin "
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Na? je stara verzija GTK+ izvr?ne okoline. Da li ?elite da je unapredite?$\rPrimedba: Ukoliko to ne uradite, $(^Name) mo?da ne?raditi."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Gre?ka prilikom instalacije GTK+ okoline za izvr?avanje."
-!define GTK_BAD_INSTALL_PATH			"Putanja koju ste naveli se ne mo?e ni napraviti niti joj se mo?e pri?"
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "Program za uklanjanje instalacije ne mo?e da prona?tavke registra za Pidgin.$\rVerovatno je ovu aplikaciju instalirao drugi korisnik."
============================================================
--- pidgin/win32/nsis/translations/simp-chinese.nsh	56a9f57e94916178500700fb704aae95dbdb8bc8
+++ pidgin/win32/nsis/translations/simp-chinese.nsh	14f5570a0752fdfcb45e068b46cd61a23b3253f8
@@ -11,7 +11,6 @@
 ; Startup GTK+ check
 !define INSTALLER_IS_RUNNING			"???????????"
 !define PIDGIN_IS_RUNNING			"Pidgin ???????????????dgin ????????"
-!define GTK_INSTALLER_NEEDED			"????? GTK+ ????????????????????$\r???? v${GTK_MIN_VERSION} ??????GTK+ ????????"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"???? >"
@@ -31,14 +30,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   "???'???????? Pidgin ??????"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"?????????GTK+ ??????????????$\r??: ?????????$(^Name) ??????????"
 
 ; Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"??Windows Pidgin ??"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"??? GTK+ ?????????"
-!define GTK_BAD_INSTALL_PATH			"??????????????????"
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "???????? Pidgin ?????????$\r?????????????????
============================================================
--- pidgin/win32/nsis/translations/slovak.nsh	a7ee3a2d6fa97ce8047472102af79a7b5381eb7c
+++ pidgin/win32/nsis/translations/slovak.nsh	e90ae705b52ac14005b4536a7a50de898b252ef8
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"In?tal?a je u? spusten? !define PIDGIN_IS_RUNNING				"Pidgin je pr? spusten?nite ho a sk?znova."
-!define GTK_INSTALLER_NEEDED			"GTK+ runtime prostredie ch?ebo mus?y? upgradovan?\rNain?talujte, pros? GTK+ runtime verziu v${GTK_MIN_VERSION}, alebo nov?iu"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"?lej >"
@@ -31,14 +30,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Vytvori? odkaz na Pidgin v ?tart Menu"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Bola n?en?tar?ia verzia GTK+ runtime. Prajete si upgradova? s??ziu?$\rPozn?a: $(^Name) nemus?o upgradovan?ungova? spr?e."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Nav?t?? webstr?u Windows Pidgin"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Chyba pri in?tal?i GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Zadan?esta nie je pr?upn?lebo ju nie je mo?n?ytvori?."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"In?tal?ru sa nepodarilo n?? polo?ky v registri pre Pidgin.$\rJe mo?n??e t?plik?u nain?taloval in??te?."
============================================================
--- pidgin/win32/nsis/translations/slovenian.nsh	853ae6451d3c34c5c2c5df8630c31a5e25683964
+++ pidgin/win32/nsis/translations/slovenian.nsh	adeaf03c3ac0c80da6c3adc5376dc1b83c6688e8
@@ -11,7 +11,6 @@
 ; Startup GTK+ check
 !define INSTALLER_IS_RUNNING			"Name??je ?e poteka."
 !define PIDGIN_IS_RUNNING			"Trenutno ?e te?ena razli?a Pidgina. Prosimo, zaprite aplikacijo in poskusite znova."
-!define GTK_INSTALLER_NEEDED			"Izvajalno okolje GTK+ manjka ali pa ga je potrebno nadgraditi.$\rProsimo, namestite v${GTK_MIN_VERSION} ali novej?o razli?o izvajalnega okolja GTK+"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Naprej >"
@@ -31,7 +30,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"Ustvari izbiro Pidgin v meniju Start"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Name??o imate starej?o razli?o izvajalnega okolja GTK+. Jo ?elite nadgraditi?$\rOpomba: ?je ne boste nadgradili, $(^Name) morda ne bo deloval."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Obi??e spletno stran Windows Pidgin"
@@ -40,8 +38,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Trenutno name??e razli?e Pidgina ni mogo?odstraniti. Nova razli?a bo name??a brez odstranitve trenutno name??e razli?e."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Napaka pri namestitvi izvajalnega okolja GTK+."
-!define GTK_BAD_INSTALL_PATH			"Pot, ki ste jo vnesli, ni dosegljiva ali je ni mogo?ustvariti."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI Handlers"
============================================================
--- pidgin/win32/nsis/translations/spanish.nsh	6389165bc5184b5d166afff05833758ac2e23919
+++ pidgin/win32/nsis/translations/spanish.nsh	e30fe8726d190f530a737a50330e880b5b7982fd
@@ -8,9 +8,6 @@
 ;;  Version 2
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"El entorno de ejecuci?e GTK+ falta o necesita ser actualizado.$\rPor favor, instale la versi?${GTK_MIN_VERSION} del ejecutable GTK+ o alguna posterior."
-
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Siguiente >"
 !define PIDGIN_LICENSE_BOTTOM_TEXT		"$(^Name) se distribuye bajo la licencia GPL. Esta licencia se incluye aqu??con prop?o informativo: $_CLICK"
@@ -22,14 +19,11 @@
 !define GTK_SECTION_DESCRIPTION		"Una suite de herramientas GUI multiplataforma, utilizada por Pidgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Se ha encontrado una versi?ntig? ejecutable de GTK+. ?Desea actualizarla?$\rObservaci?$(^Name) no funcionar? menos que lo haga."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visite la p?na Web de Pidgin Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Error al instalar el ejecutable GTK+."
-!define GTK_BAD_INSTALL_PATH			"No se pudo acceder o crear la ruta que vd. indic? 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1         "El desinstalador no pudo encontrar las entradas en el registro de Pidgin.$\rEs probable que otro usuario instalara la aplicaci?
============================================================
--- pidgin/win32/nsis/translations/swedish.nsh	01885579ed6dbba58459919c7f0f327c4ecff02f
+++ pidgin/win32/nsis/translations/swedish.nsh	36d2e4388ecc8459d999e8baf1ad3a4b63894469
@@ -11,7 +11,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"Installationsprogrammet k?redan."
 !define PIDGIN_IS_RUNNING			"En instans av Pidgin k?redan. Avsluta Pidgin och f?k igen."
-!define GTK_INSTALLER_NEEDED			"K?lj?TK+ ?antingen inte installerat eller beh? uppgraderas.$\rVar  god installera v${GTK_MIN_VERSION} eller h? av GTK+-k?lj?
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"N?a >"
@@ -31,7 +30,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   	"Skapar ett till? i startmenyn f?idgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"En ?re version av GTK+ runtime hittades, vill du uppgradera den?$\rOBS! $(^Name) kommer kanske inte att fungera om du inte uppgraderar."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Bes?indows-Pidgin hemsida"
@@ -40,8 +38,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"Kunde inte avinstallera den nuvarande versionen av Pidgin. Den nya versionen kommer att installeras utan att ta bort den f??arande installerade versionen."
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Fel vid installation av GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"Den s?g du angivit g?inte att komma ?eller skapa."
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI Hanterare"
============================================================
--- pidgin/win32/nsis/translations/trad-chinese.nsh	f8146b8a16e4c83a2ff480691a2449d8e30d1b0d
+++ pidgin/win32/nsis/translations/trad-chinese.nsh	25fc39645da9710ad6946663588d8037210739df
@@ -13,7 +13,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"?w??{?????b????C"
 !define PIDGIN_IS_RUNNING				"Pidgin ???b????A???o??{????????C"
-!define GTK_INSTALLER_NEEDED			"?????X?? GTK+ ????O??n?Q??C$\r??w??v${GTK_MIN_VERSION} ??H?W?????? GTK+ ???C"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"?U?@?B >"
@@ -33,7 +32,6 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC		"?b?}?l?\???????|"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"?o?{?@?????? GTK+ ???C?z?n?N??????H$\r??`?N?G?p?G?z?????A $(^Name) ?i???k???T???Q??C"
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"??Windows Pidgin ??
@@ -42,8 +40,6 @@
 !define PIDGIN_PROMPT_CONTINUE_WITHOUT_UNINSTALL	"?L?k??????e?w?w??? Pidgin?A?s?????N?b???g??????????????p?U?i????C"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"?w??GTK+ ????o???"
-!define GTK_BAD_INSTALL_PATH			"?z??????w????s????C"
 
 ; URL Handler section
 !define URI_HANDLERS_SECTION_TITLE		"URI ?B?z?{??"
============================================================
--- pidgin/win32/nsis/translations/valencian.nsh	754a349ef91ce5007b93de830efe78508f673976
+++ pidgin/win32/nsis/translations/valencian.nsh	202a25bad23da0454b00916ba069cf6ae9635fab
@@ -14,7 +14,6 @@
 ; Startup Checks
 !define INSTALLER_IS_RUNNING			"L'instalador encara est?ixecutant-se."
 !define PIDGIN_IS_RUNNING				"Una instancia de Pidgin est?ixecutant-se. Ix del Pidgin i torna a intentar-ho."
-!define GTK_INSTALLER_NEEDED			"L'entorn d'eixecucio GTK+ no es troba o necessita ser actualisat.$\rPer favor instala la versio${GTK_MIN_VERSION} o superior de l'entorn GTK+"
 
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Seg?"
@@ -34,14 +33,11 @@
 !define PIDGIN_STARTMENU_SHORTCUT_DESC   		"Crear una entrada per a Pidgin en Menu Inici"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Una versio antiua de l'entorn GTK+ fon trobada. ?Vols actualisar-la?$\rNota: $(^Name) no funcionar?i no ho fas."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"Visita la pagina de Pidgin per a Windows"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"Erro instalant l'entorn GTK+."
-!define GTK_BAD_INSTALL_PATH			"La ruta introduida no pot ser accedida o creada."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"El desinstalador podria no trobar les entrades del registre de Pidgin.$\rProbablement un atre usuari instal?sta aplicacio."
============================================================
--- pidgin/win32/nsis/translations/vietnamese.nsh	b18cf814b4fd150d97f5e773fe12f082d690d5d7
+++ pidgin/win32/nsis/translations/vietnamese.nsh	1f371681e47e66459a81265243c49ff89b6cf1b5
@@ -9,9 +9,6 @@
 ;;  it does, these translations can not be used. 
 ;;
 
-; Startup GTK+ check
-!define GTK_INSTALLER_NEEDED			"The GTK+ runtime environment kh?ng c? ho?c c?n ???c n?ng c?p.$\rH?y c?i ??t GTK+ runtime v${GTK_MIN_VERSION} ho?c m?i h?n"
-
 ; License Page
 !define PIDGIN_LICENSE_BUTTON			"Ti?p theo >"
 !define PIDGIN_LICENSE_BOTTOM_TEXT		"$(^Name) ???c ph?t h?nh theo gi?y  ph?p GPL. Gi?y ph?p th?y ? ??y ch? l? ?? cung c?p th?ng tin m? th?i. $_CLICK"
@@ -23,14 +20,11 @@
 !define GTK_SECTION_DESCRIPTION		"B? c?ng c? giao di?n ?? h?a ?a n?n ?? d?ng cho Pidgin"
 
 ; GTK+ Directory Page
-!define GTK_UPGRADE_PROMPT			"Ph?t hi?n th?y c? phi?n b?n c? c?a  GTK+ runtime. B?n mu?n n?ng c?p kh?ng?$\rNote: $(^Name) c? th? kh?ng ch?y n?u kh?ng n?ng c?p."
 
 ; Installer Finish Page
 !define PIDGIN_FINISH_VISIT_WEB_SITE		"H?y xem trang ch? Windows Pidgin"
 
 ; GTK+ Section Prompts
-!define GTK_INSTALL_ERROR			"L?i c?i ??t GTK+ runtime."
-!define GTK_BAD_INSTALL_PATH			"???ng d?n m? b?n nh?p c? th? kh?ng truy c?p ???c hay kh?ng t?o ???c."
 
 ; Uninstall Section Prompts
 !define un.PIDGIN_UNINSTALL_ERROR_1		"Tr?nh g? c?i ??t kh?ng t?m ???c c?c  registry entry cho Pidgin.$\rC? th? l? ch??ng tr?nh ???c ng??i d?ng kh?c c?i ??t."
============================================================
--- pidgin/win32/winpidgin.c	2771e4991642a3939cffc84ae6e512dce2325347
+++ pidgin/win32/winpidgin.c	66b9b4b918071e3c93ec3458e371b0a1773e0aae
@@ -34,6 +34,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
 
 /* These will hopefully be in the win32api next time it is updated - at which point, we'll remove them */
 #ifndef LANG_PERSIAN
@@ -110,7 +112,20 @@ static void common_dll_prep(const char *
 static void common_dll_prep(const char *path) {
 	HMODULE hmod;
 	HKEY hkey;
+	struct _stat stat_buf;
+	char test_path[MAX_PATH + 1];
 
+	_snprintf(test_path, sizeof(test_path), "%s\\libgtk-win32-2.0-0.dll",
+		path);
+	test_path[sizeof(test_path) - 1] = '\0';
+
+	if (_stat(test_path, &stat_buf) != 0) {
+		printf("Unable to determine GTK+ path. \n"
+			"Assuming GTK+ is in the PATH.\n");
+		return;
+	}
+
+
 	printf("GTK+ path found: %s\n", path);
 
 	if ((hmod = GetModuleHandle("kernel32.dll"))) {
@@ -232,35 +247,16 @@ static void portable_mode_dll_prep(const
 	common_dll_prep(path);
 }
 
-static void dll_prep() {
-	char path[MAX_PATH + 1];
-	HKEY hkey;
-	char gtkpath[MAX_PATH + 1];
-	DWORD plen;
+static void dll_prep(const char *pidgin_dir) {
+	char gtk_path[MAX_PATH + 1];
+	gtk_path[0] = '\0';
 
-	plen = sizeof(gtkpath);
-	hkey = HKEY_CURRENT_USER;
-	if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "Path",
-			(LPBYTE) &gtkpath, &plen)) {
-		hkey = HKEY_LOCAL_MACHINE;
-		if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "Path",
-				(LPBYTE) &gtkpath, &plen)) {
-			printf("GTK+ Path Registry Key not found. "
-				"Assuming GTK+ is in the PATH.\n");
-			return;
-		}
+	if (*pidgin_dir) {
+		_snprintf(gtk_path, sizeof(gtk_path), "%s\\Gtk\\bin", pidgin_dir);
+		gtk_path[sizeof(gtk_path)] = '\0';
 	}
 
-	/* this value is replaced during a successful RegQueryValueEx() */
-	plen = sizeof(path);
-	/* Determine GTK+ dll path .. */
-	if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "DllPath",
-				(LPBYTE) &path, &plen)) {
-		strcpy(path, gtkpath);
-		strcat(path, "\\bin");
-	}
-
-	common_dll_prep(path);
+	common_dll_prep(gtk_path);
 }
 
 static char* winpidgin_lcid_to_posix(LCID lcid) {
@@ -686,14 +682,16 @@ WinMain (struct HINSTANCE__ *hInstance, 
 		}
 
 		if (prev) {
+			HMODULE hmod;
 			prev[0] = '\0';
 
 			/* prev++ will now point to the executable file name */
 			strcpy(exe_name, prev + 1);
 
 			strcat(pidgin_dir, "\\exchndl.dll");
-			if (LoadLibrary(pidgin_dir))
+			if ((hmod = LoadLibrary(pidgin_dir))) {
 				printf("Loaded exchndl.dll\n");
+			}
 
 			prev[0] = '\0';
 		}
@@ -729,7 +727,7 @@ WinMain (struct HINSTANCE__ *hInstance, 
 	if (portable_mode)
 		portable_mode_dll_prep(pidgin_dir);
 	else if (!getenv("PIDGIN_NO_DLL_CHECK"))
-		dll_prep();
+		dll_prep(pidgin_dir);
 
 	winpidgin_set_locale();
 


More information about the Commits mailing list