[geany/geany-plugins] b287fa: Windows: Support specifying installation target for silent installation
Enrico Tröger
git-noreply at xxxxx
Thu Sep 16 21:55:23 UTC 2021
Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger at uvena.de>
Committer: Enrico Tröger <enrico.troeger at uvena.de>
Date: Thu, 16 Sep 2021 21:55:23 UTC
Commit: b287fa14935f5d96917185f00b26947eb130df6d
https://github.com/geany/geany-plugins/commit/b287fa14935f5d96917185f00b26947eb130df6d
Log Message:
-----------
Windows: Support specifying installation target for silent installation
The installation directory for Geany-Plugins is automatically determined
by inspecting the existing Geany installation to use the same directory.
But it might be desired for silent installations (i.e. without user
interaction) to specify an alternative installation directory by
appending "/D=c.\some-dir" to the command line. This is now possible.
Used for CI builds to test the installation automatically.
Modified Paths:
--------------
build/geany-plugins.nsi
Modified: build/geany-plugins.nsi
11 lines changed, 8 insertions(+), 3 deletions(-)
===================================================================
@@ -75,6 +75,7 @@ OutFile "${GEANY_PLUGINS_INSTALLER_NAME}"
Var Answer
Var UserName
+Var GEANY_INSTDIR
Var UNINSTDIR
;;;;;;;;;;;;;;;;
@@ -346,13 +347,13 @@ done:
Function CheckForGeany
; find and read Geany's installation directory and use it as our installation directory
- ReadRegStr $INSTDIR SHCTX "${GEANY_DIR_REGKEY}" "Path"
- StrCmp $INSTDIR "" 0 +3
+ ReadRegStr $GEANY_INSTDIR SHCTX "${GEANY_DIR_REGKEY}" "Path"
+ StrCmp $GEANY_INSTDIR "" 0 +3
MessageBox MB_OK|MB_ICONSTOP "Geany could not be found. Please install Geany first." /SD IDOK
Abort
; check Geany's version
- GetDLLVersion "$INSTDIR\bin\geany.exe" $R0 $R1
+ GetDLLVersion "$GEANY_INSTDIR\bin\geany.exe" $R0 $R1
IntOp $R2 $R0 >> 16
IntOp $R2 $R2 & 0x0000FFFF ; $R2 now contains major version
IntOp $R3 $R0 & 0x0000FFFF ; $R3 now contains minor version
@@ -394,6 +395,10 @@ Function .onInit
Abort
Call CheckForGeany
+ ; if $INSTDIR is empty (i.e. it was not provided via /D=... on command line), use Geany's one
+ ${If} $INSTDIR == ""
+ StrCpy $INSTDIR "$GEANY_INSTDIR"
+ ${EndIf}
; warn about a new install over an existing installation
ReadRegStr $R0 SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString"
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list