From 273d257f2a07dc1ef7942889649f47a97373f2a1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Sun, 20 Oct 2019 23:26:08 +0200 Subject: [PATCH] Win installer: fix registry issue - when installing LyX 2.x.z over a previous 2.x.y installation a registry key was not deleted - also fix some hardcoded occurrences of "lyx" --- .../Win32/packaging/installer/include/declarations.nsh | 9 +++++---- .../Win32/packaging/installer/setup/configure.nsh | 4 +++- development/Win32/packaging/installer/setup/install.nsh | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/development/Win32/packaging/installer/include/declarations.nsh b/development/Win32/packaging/installer/include/declarations.nsh index 2e9686979c..84ebabd068 100644 --- a/development/Win32/packaging/installer/include/declarations.nsh +++ b/development/Win32/packaging/installer/include/declarations.nsh @@ -37,6 +37,7 @@ Configuration of LyX installer # Names and version !define APP_NAME "LyX" +!define APP_NAME_SMALL "lyx" !define APP_VERSION_NUMBER "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}.${APP_VERSION_BUILD}" # for the proposed install folder we use the scheme "LyX 2.2" while we need for the registry the scheme "LyX 2.1.4" # to check if it is exactly this version (to support side by side installations) @@ -57,7 +58,7 @@ Configuration of LyX installer !define APP_SETUPTYPE "Standard" !endif -!define BIN_LYX "LyX.exe" +!define BIN_LYX "${APP_NAME}.exe" !define APP_RUN "bin\${BIN_LYX}" !define APP_REGKEY "Software\${APP_NAME}${APP_SERIES_KEY}" # like "LyX220" @@ -66,8 +67,8 @@ Configuration of LyX installer !define APP_REGNAME_DOC "${APP_NAME}.Document" -!define APP_EXT ".lyx" -!define APP_MIME_TYPE "application/lyx" +!define APP_EXT ".${APP_NAME_SMALL}" +!define APP_MIME_TYPE "application/${APP_NAME_SMALL}" !define APP_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" @@ -81,7 +82,7 @@ Configuration of LyX installer !define SETUP_EXE ${ExeFile} !endif -!define SETUP_ICON "${FILES_ICONS}\lyx.ico" +!define SETUP_ICON "${FILES_ICONS}\${APP_NAME_SMALL}.ico" !define SETUP_HEADERIMAGE "graphics\header.bmp" !define SETUP_WIZARDIMAGE "graphics\wizard.bmp" !define SETUP_UNINSTALLER "Uninstall-${APP_NAME}.exe" diff --git a/development/Win32/packaging/installer/setup/configure.nsh b/development/Win32/packaging/installer/setup/configure.nsh index 97bc94584e..5daf6d6e2c 100644 --- a/development/Win32/packaging/installer/setup/configure.nsh +++ b/development/Win32/packaging/installer/setup/configure.nsh @@ -46,7 +46,7 @@ Section -InstallData WriteRegStr SHCTX ${APP_UNINST_KEY} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}"' WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayVersion" "${APP_VERSION}" - WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayIcon" "$INSTDIR\bin\lyx.exe" + WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayIcon" "$INSTDIR\bin\${APP_NAME_SMALL}.exe" WriteRegStr SHCTX ${APP_UNINST_KEY} "URLUpdateInfo" "${APP_WEBPAGE}" WriteRegStr SHCTX ${APP_UNINST_KEY} "URLInfoAbout" "https://www.lyx.org/AboutLyX" WriteRegStr SHCTX ${APP_UNINST_KEY} "Publisher" "${APP_NAME} Team" @@ -58,8 +58,10 @@ Section -InstallData # if we install over an older existing version, remove the old uninstaller information ${if} $OldVersionNumber < ${APP_SERIES_KEY} DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber" + DeleteRegKey SHCTX "SOFTWARE\${APP_NAME}$OldVersionNumber" # also delete in the case of an emergency release DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber1" + DeleteRegKey SHCTX "SOFTWARE\${APP_NAME}$OldVersionNumber1" ${endif} SectionEnd diff --git a/development/Win32/packaging/installer/setup/install.nsh b/development/Win32/packaging/installer/setup/install.nsh index 53196e3106..8aeef94b1c 100644 --- a/development/Win32/packaging/installer/setup/install.nsh +++ b/development/Win32/packaging/installer/setup/install.nsh @@ -18,7 +18,7 @@ Section -ProgramFiles SecProgramFiles # be installed directly to C:\programs - the uninstaller will then delete the whole # C:\programs directory StrCpy $String $INSTDIR - StrCpy $Search "LyX" + StrCpy $Search "${APP_NAME}" Call StrPoint # function from LyXUtils.nsh ${if} $Pointer == "-1" StrCpy $INSTDIR "$INSTDIR\${APP_DIR}" -- 2.39.5