mirror of
https://github.com/ryanvolz/radioconda.git
synced 2024-09-20 04:26:34 -04:00
81 lines
3.5 KiB
Diff
81 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ryan Volz <ryan.volz@gmail.com>
|
|
Date: Wed, 23 Feb 2022 18:11:22 -0500
|
|
Subject: [PATCH] Customize Windows NSIS installer script.
|
|
|
|
1. Never clear the full pkg dir
|
|
2. Delete environment variables set in registry by PothosSDR
|
|
3. Do not show "advanced" installation options
|
|
---
|
|
constructor/nsis/main.nsi.tmpl | 33 +++++++++++++++++++++++++++++++--
|
|
1 file changed, 31 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/constructor/nsis/main.nsi.tmpl b/constructor/nsis/main.nsi.tmpl
|
|
index 2426248..95c94c2 100644
|
|
--- a/constructor/nsis/main.nsi.tmpl
|
|
+++ b/constructor/nsis/main.nsi.tmpl
|
|
@@ -118,7 +118,7 @@ Page Custom InstModePage_Create InstModePage_Leave
|
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE OnDirectoryLeave
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
# Custom options now differ depending on installation mode.
|
|
-Page Custom mui_AnaCustomOptions_Show
|
|
+#Page Custom mui_AnaCustomOptions_Show
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
@@ -933,7 +933,7 @@ Section "Install"
|
|
|
|
${If} $Ana_ClearPkgCache_State = ${BST_CHECKED}
|
|
DetailPrint "Clearing package cache..."
|
|
- push '"$INSTDIR\_conda.exe" clean --all --force-pkgs-dirs --yes'
|
|
+ push '"$INSTDIR\_conda.exe" clean --all --yes'
|
|
push 'Failed to clear package cache'
|
|
call AbortRetryNSExecWait
|
|
${EndIf}
|
|
@@ -964,6 +964,26 @@ Section "Install"
|
|
${EndIf}
|
|
|
|
${If} $ARGV_NoRegistry == "0"
|
|
+ # Delete registry entries for environment variables set by PothosSDR
|
|
+ # With admin rights, we can delete them
|
|
+ ${If} ${UAC_IsAdmin}
|
|
+ DetailPrint "Deleting PothosSDR registry environment variables..."
|
|
+ !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
|
|
+ DeleteRegValue ${env_hklm} "GR_PREFIX"
|
|
+ DeleteRegValue ${env_hklm} "GRC_BLOCKS_PATH"
|
|
+ DeleteRegValue ${env_hklm} "UHD_PKG_PATH"
|
|
+ DeleteRegValue ${env_hklm} "VOLK_PREFIX"
|
|
+ # Without admin rights, we have to shadow them with empty values set for the user
|
|
+ ${Else}
|
|
+ DetailPrint "Overriding PothosSDR registry environment variables for user..."
|
|
+ !define env_hkcu 'HKCU "Environment"'
|
|
+ WriteRegExpandStr ${env_hkcu} "GR_PREFIX" ""
|
|
+ WriteRegExpandStr ${env_hkcu} "GRC_BLOCKS_PATH" ""
|
|
+ WriteRegExpandStr ${env_hkcu} "UHD_PKG_PATH" ""
|
|
+ WriteRegExpandStr ${env_hkcu} "VOLK_PREFIX" ""
|
|
+ ${EndIf}
|
|
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
|
+
|
|
# Registry uninstall info
|
|
WriteRegStr SHCTX "${UNINSTREG}" "DisplayName" "${UNINSTALL_NAME}"
|
|
WriteRegStr SHCTX "${UNINSTREG}" "DisplayVersion" "${VERSION}"
|
|
@@ -1014,6 +1034,15 @@ Section "Uninstall"
|
|
# In case the last command fails, run the slow method to remove leftover
|
|
RMDir /r /REBOOTOK "$INSTDIR"
|
|
|
|
+ # Delete user environment variables that we set during installation
|
|
+ ${IfNot} ${UAC_IsAdmin}
|
|
+ DeleteRegValue ${env_hkcu} "GR_PREFIX"
|
|
+ DeleteRegValue ${env_hkcu} "GRC_BLOCKS_PATH"
|
|
+ DeleteRegValue ${env_hkcu} "UHD_PKG_PATH"
|
|
+ DeleteRegValue ${env_hkcu} "VOLK_PREFIX"
|
|
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
|
+ ${EndIf}
|
|
+
|
|
DeleteRegKey SHCTX "${UNINSTREG}"
|
|
# If Anaconda was registered as the official Python for this version,
|
|
# remove it from the registry
|
|
--
|
|
2.35.0
|
|
|