[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