]> git.lyx.org Git - features.git/commitdiff
Changed main registry entry (LyX\Version now).
authorRichard Kimberly Heck <rikiheck@lyx.org>
Sat, 4 Apr 2020 23:18:23 +0000 (19:18 -0400)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:55 +0000 (15:48 +0200)
Added "latestVersion" value.

Patch from Eugene.

development/Win32/packaging/installer/include/declarations.nsh
development/Win32/packaging/installer/include/init.nsh
development/Win32/packaging/installer/setup/configure.nsh
development/Win32/packaging/installer/setup/uninstall.nsh

index 9a71f547c48cbc3ad87e6bac3532288ab24c09ef..ba9fca809f26d49320f3541d7681ae8a4ffa2272 100644 (file)
@@ -59,7 +59,8 @@ Configuration of LyX installer
 !define BIN_LYX "${APP_NAME}.exe"
 !define APP_RUN "bin\${BIN_LYX}"
 
-!define APP_REGKEY "Software\${APP_NAME}${APP_SERIES_KEY}" # like "LyX220"
+!define APP_REGFOLDER "Software\${APP_NAME}"
+!define APP_REGKEY "${APP_REGFOLDER}\${APP_SERIES_KEY}" # like "LyX\220"
 !define APP_REGKEY_SETUP "${APP_REGKEY}\Setup"
 !define APP_REGKEY_SETTINGS "${APP_REGKEY}\Settings"
 
index 4902d2678547611ea67cffc6fc0abd276a14e830..76bacd51c431156dc791e5fa9c5c7821714788c9 100644 (file)
@@ -13,8 +13,8 @@ Var LyXLangName
 # COMPONENT can be LaTeX, ImageMagick and Ghostscript
 !macro EXTERNAL_INIT COMPONENT
 
-  # APP_REGKEY_SETUP = "Software\${APP_NAME}${APP_SERIES_KEY}\Setup"
-  # where ${APP_NAME}${APP_SERIES_KEY} is something like LyX22
+  # APP_REGKEY_SETUP = "Software\${APP_NAME}\${APP_SERIES_KEY}\Setup"
+  # where ${APP_NAME}\${APP_SERIES_KEY} is something like LyX\220
   ReadRegStr $ComponentPath SHELL_CONTEXT "${APP_REGKEY_SETUP}" "${COMPONENT} Path"
   
   # BIN_LATEX etc are defined in settings.nsh
index c7d93e809786f9ab2a3dbeb01ff9f0e23643db86..ae283362e9491832fec20a257037130470ec8063 100644 (file)
@@ -16,6 +16,10 @@ Var PathPrefix
 Section -InstallData
 
   # Registry information
+  ReadRegStr $0 SHCTX ${APP_REGFOLDER} "latestVersion"
+  ${If} $0 < ${APP_SERIES_KEY}
+    WriteRegStr SHCTX ${APP_REGFOLDER} "latestVersion" ${APP_SERIES_KEY}
+  ${EndIf}
   WriteRegStr SHCTX ${APP_REGKEY} "" $INSTDIR
   WriteRegStr SHCTX ${APP_REGKEY} "Version" "${APP_VERSION_NUMBER}"
   WriteRegStr SHCTX ${APP_REGKEY_SETUP} "LaTeX Path" $PathLaTeX
@@ -54,16 +58,15 @@ Section -InstallData
   WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoModify" 0x00000001
   WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001
   WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
-  
   # if we install over an older existing version, remove the old uninstaller information
-  ${if} $OldVersionNumber < ${APP_SERIES_KEY}
+  ${if} $OldVersionNumber != ""
+  ${AndIf} $OldVersionNumber < ${APP_SERIES_KEY}
    DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber"
-   DeleteRegKey SHCTX "SOFTWARE\${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"
+   DeleteRegKey SHCTX "SOFTWARE\${APP_NAME}\$OldVersionNumber1"
   ${endif}
-  
 SectionEnd
 
 #--------------------------------
index fb7db193a7bfafceb6eadde7d163f4f4e49b96ca..46419a86ba14c6fa44a1a6ee96fc1b210dac3905 100644 (file)
@@ -69,12 +69,28 @@ Section "un.LyX" un.SecUnProgramFiles
   RMDir /r "$INSTDIR"
   
   # Registry keys and values
+  DeleteRegValue SHCTX "subkey" "key_name"
   DeleteRegKey SHCTX "${APP_REGKEY_SETUP}"
   DeleteRegKey SHCTX "${APP_REGKEY}"
   DeleteRegKey SHCTX "${APP_UNINST_KEY}"
   DeleteRegKey HKCR "Applications\${BIN_LYX}"
   DeleteRegValue HKCR "${APP_NAME}.Document\Shell\open\command" ""
   DeleteRegValue HKCR "${APP_NAME}.Document\DefaultIcon" ""
+  ReadRegStr $0 SHCTX ${APP_REGFOLDER} "latestVersion"
+  ${If} $0 == ${APP_SERIES_KEY}
+    DeleteRegValue SHCTX ${APP_REGFOLDER} "latestVersion"
+    StrCpy $0 0
+    StrCpy $R0 ""
+    ${Do}
+      StrCpy $R1 $R0
+      EnumRegKey $R0 SHCTX ${APP_REGFOLDER} $0
+      IntOp $0 $0 + 1
+    ${LoopUntil} $R0 == ""
+    ${If} $R1 != ""
+      WriteRegStr SHCTX ${APP_REGFOLDER} "latestVersion" $R1
+    ${EndIf}
+  ${EndIf}
+  DeleteRegKey /ifempty SHCTX ${APP_REGFOLDER}
   
   # File associations
   ReadRegStr $FileAssociation SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""