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"
This commit is contained in:
Uwe Stöhr 2019-10-20 23:26:08 +02:00
parent 866c1bef3e
commit 273d257f2a
3 changed files with 9 additions and 6 deletions

View File

@ -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"

View File

@ -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

View File

@ -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}"