Mercurial > pidgin
changeset 14454:22cb019456bd
[gaim-migrate @ 17168]
Use NSIS' built-in language registry key stuff. This fixes the installer forgetting which language you've selected.
Fill the installer file versioning information - Unfortunately, there doesn't appear to be a way to manipulate the value to use for the ProductVersion inside the NSIS script, so the Makefile needs to massage the data.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Tue, 05 Sep 2006 15:40:24 +0000 |
parents | 0af643d766bd |
children | c2c916d4d95c |
files | Makefile.mingw gaim-installer.nsi |
diffstat | 2 files changed, 50 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.mingw Tue Sep 05 13:55:50 2006 +0000 +++ b/Makefile.mingw Tue Sep 05 15:40:24 2006 +0000 @@ -8,6 +8,30 @@ GAIM_TOP := . include $(GAIM_TOP)/libgaim/win32/global.mak +# Generate a X.X.X.X version for the installer file versioning header +# The last digit will be 99 for a final release, 0 for dev or unknown, or the beta number +GAIM_PRODUCT_VERSION = $(shell \ +awk 'BEGIN {FS="."} { \ + if (int($$3) == $$3) { \ + $$4 = "99"; \ + } else { \ + $$5 = $$3; \ + sub(int($$3), "", $$5); \ + if ($$5 == "dev") { \ + $$4 = "0"; \ + } else { \ + if (sub("beta", "", $$5) > 0) { \ + $$4 = $$5; \ + } else { \ + $$4 = "0"; \ + } \ + } \ + } \ + printf("%s.%s.%s.%s", $$1, $$2, int($$3), $$4); \ + exit; \ +}' VERSION) + + all: $(GAIM_CONFIG_H) $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) @@ -19,13 +43,13 @@ $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) install installer: install - $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DWITH_GTK gaim-installer.nsi + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DGAIM_PRODUCT_VERSION="$(GAIM_PRODUCT_VERSION)" /DWITH_GTK gaim-installer.nsi installer_nogtk: install - $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" gaim-installer.nsi + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DGAIM_PRODUCT_VERSION="$(GAIM_PRODUCT_VERSION)" gaim-installer.nsi installer_debug: install - $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DDEBUG gaim-installer.nsi + $(MAKENSIS) /V3 /DGAIM_VERSION="$(GAIM_VERSION)" /DGAIM_PRODUCT_VERSION="$(GAIM_PRODUCT_VERSION)" /DDEBUG gaim-installer.nsi installers: installer installer_nogtk
--- a/gaim-installer.nsi Tue Sep 05 13:55:50 2006 +0000 +++ b/gaim-installer.nsi Tue Sep 05 15:40:24 2006 +0000 @@ -59,7 +59,6 @@ !define HKLM_APP_PATHS_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\gaim.exe" !define GAIM_STARTUP_RUN_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" !define GAIM_UNINST_EXE "gaim-uninst.exe" -!define GAIM_REG_LANG "Installer Language" !define GTK_VERSION "2.6.10" !define GTK_REG_KEY "SOFTWARE\GTK\2.0" @@ -75,6 +74,23 @@ !define DOWNLOADER_URL "http://gaim.sourceforge.net/win32/download_redir.php" ;-------------------------------- +;Version resource +VIProductVersion "${GAIM_PRODUCT_VERSION}" +VIAddVersionKey "ProductName" "Gaim" +VIAddVersionKey "FileVersion" "${GAIM_VERSION}" +VIAddVersionKey "ProductVersion" "${GAIM_VERSION}" +VIAddVersionKey "LegalCopyright" "" +!ifdef WITH_GTK +VIAddVersionKey "FileDescription" "Gaim Installer (w/ GTK+ Installer)" +!else +!ifdef DEBUG +VIAddVersionKey "FileDescription" "Gaim Installer (Debug Version)" +!else +VIAddVersionKey "FileDescription" "Gaim Installer (w/o GTK+ Installer)" +!endif +!endif + +;-------------------------------- ;Modern UI Configuration !define MUI_ICON ".\gtk\pixmaps\gaim-install.ico" @@ -87,6 +103,10 @@ !define MUI_LICENSEPAGE_BUTTON $(GAIM_LICENSE_BUTTON) !define MUI_LICENSEPAGE_TEXT_BOTTOM $(GAIM_LICENSE_BOTTOM_TEXT) + !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" + !define MUI_LANGDLL_REGISTRY_KEY ${GAIM_REG_KEY} + !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + !define MUI_COMPONENTSPAGE_SMALLDESC !define MUI_ABORTWARNING @@ -459,9 +479,6 @@ StrCmp $R0 "NONE" done SetOverwrite off - ; Write out installer language - WriteRegStr HKCU "${GAIM_REG_KEY}" "${GAIM_REG_LANG}" "$LANGUAGE" - ; write out uninstaller SetOverwrite on WriteUninstaller "$INSTDIR\${GAIM_UNINST_EXE}" @@ -1184,8 +1201,8 @@ Call un.RunCheck StrCpy $name "Gaim ${GAIM_VERSION}" - ; Get stored language prefrence - ReadRegStr $LANGUAGE HKCU ${GAIM_REG_KEY} "${GAIM_REG_LANG}" + ; Get stored language preference + !insertmacro MUI_UNGETLANGUAGE FunctionEnd