Update NSIS template customization for latest constructor.

This commit is contained in:
Ryan Volz 2024-01-22 12:03:29 -05:00
parent b3c7ee40d5
commit 88b4a5d835
2 changed files with 34 additions and 38 deletions

View File

@ -57,7 +57,7 @@ Unicode "true"
!define DEFAULT_PREFIX_ALL_USERS __DEFAULT_PREFIX_ALL_USERS__ !define DEFAULT_PREFIX_ALL_USERS __DEFAULT_PREFIX_ALL_USERS__
!define PRE_INSTALL_DESC __PRE_INSTALL_DESC__ !define PRE_INSTALL_DESC __PRE_INSTALL_DESC__
!define POST_INSTALL_DESC __POST_INSTALL_DESC__ !define POST_INSTALL_DESC __POST_INSTALL_DESC__
!define MENU_PKGS "@MENU_PKGS@" !define ENABLE_SHORTCUTS __ENABLE_SHORTCUTS__
!define SHOW_REGISTER_PYTHON __SHOW_REGISTER_PYTHON__ !define SHOW_REGISTER_PYTHON __SHOW_REGISTER_PYTHON__
!define SHOW_ADD_TO_PATH __SHOW_ADD_TO_PATH__ !define SHOW_ADD_TO_PATH __SHOW_ADD_TO_PATH__
!define PRODUCT_NAME "${NAME} ${VERSION} (${ARCH})" !define PRODUCT_NAME "${NAME} ${VERSION} (${ARCH})"
@ -296,14 +296,18 @@ FunctionEnd
${EndIf} ${EndIf}
${EndIf} ${EndIf}
ClearErrors ${If} "${ENABLE_SHORTCUTS}" == "yes"
${GetOptions} $ARGV "/NoShortcuts=" $ARGV_NoShortcuts ClearErrors
${IfNot} ${Errors} ${GetOptions} $ARGV "/NoShortcuts=" $ARGV_NoShortcuts
${If} $ARGV_NoShortcuts = "1" ${IfNot} ${Errors}
StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED} ${If} $ARGV_NoShortcuts = "1"
${ElseIf} $ARGV_NoShortcuts = "0" StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED}
StrCpy $Ana_CreateShortcuts_State ${BST_CHECKED} ${ElseIf} $ARGV_NoShortcuts = "0"
StrCpy $Ana_CreateShortcuts_State ${BST_CHECKED}
${EndIf}
${EndIf} ${EndIf}
${Else}
StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED}
${EndIf} ${EndIf}
ClearErrors ClearErrors
@ -1116,6 +1120,7 @@ Section "Install"
@SCRIPT_ENV_VARIABLES@ @SCRIPT_ENV_VARIABLES@
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_SAFETY_CHECKS", "disabled").r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_SAFETY_CHECKS", "disabled").r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_EXTRA_SAFETY_CHECKS", "no").r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_EXTRA_SAFETY_CHECKS", "no").r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_ROOT_PREFIX", "$INSTDIR")".r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_PKGS_DIRS", "$INSTDIR\pkgs")".r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_PKGS_DIRS", "$INSTDIR\pkgs")".r0'
# Extra info for pre and post install scripts # Extra info for pre and post install scripts
# NOTE: If more vars are added, make sure to update the examples/scripts tests too # NOTE: If more vars are added, make sure to update the examples/scripts tests too
@ -1163,14 +1168,6 @@ Section "Install"
AddSize @SIZE@ AddSize @SIZE@
${If} $Ana_CreateShortcuts_State = ${BST_CHECKED}
DetailPrint "Creating @NAME@ menus..."
push '"$INSTDIR\_conda.exe" constructor --prefix "$INSTDIR" --make-menus @MENU_PKGS@'
push 'Failed to create menus'
push 'WithLog'
call AbortRetryNSExecWait
${EndIf}
#if has_conda is True #if has_conda is True
DetailPrint "Initializing conda directories..." DetailPrint "Initializing conda directories..."
push '"$INSTDIR\pythonw.exe" -E -s "$INSTDIR\Lib\_nsis.py" mkdirs' push '"$INSTDIR\pythonw.exe" -E -s "$INSTDIR\Lib\_nsis.py" mkdirs'
@ -1292,10 +1289,11 @@ SectionEnd
!macroend !macroend
Section "Uninstall" Section "Uninstall"
# Remove menu items, path entries ${LogSet} on
DetailPrint "Deleting @NAME@ menus..." # Remove menu items, path entries
nsExec::ExecToLog '"$INSTDIR\_conda.exe" constructor --prefix "$INSTDIR" --rm-menus' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_ROOT_PREFIX", "$INSTDIR")".r0'
@UNINSTALL_MENUS@
# ensure that MSVC runtime DLLs are on PATH during uninstallation # ensure that MSVC runtime DLLs are on PATH during uninstallation
ReadEnvStr $0 PATH ReadEnvStr $0 PATH

View File

@ -57,7 +57,7 @@ Unicode "true"
!define DEFAULT_PREFIX_ALL_USERS __DEFAULT_PREFIX_ALL_USERS__ !define DEFAULT_PREFIX_ALL_USERS __DEFAULT_PREFIX_ALL_USERS__
!define PRE_INSTALL_DESC __PRE_INSTALL_DESC__ !define PRE_INSTALL_DESC __PRE_INSTALL_DESC__
!define POST_INSTALL_DESC __POST_INSTALL_DESC__ !define POST_INSTALL_DESC __POST_INSTALL_DESC__
!define MENU_PKGS "@MENU_PKGS@" !define ENABLE_SHORTCUTS __ENABLE_SHORTCUTS__
!define SHOW_REGISTER_PYTHON __SHOW_REGISTER_PYTHON__ !define SHOW_REGISTER_PYTHON __SHOW_REGISTER_PYTHON__
!define SHOW_ADD_TO_PATH __SHOW_ADD_TO_PATH__ !define SHOW_ADD_TO_PATH __SHOW_ADD_TO_PATH__
!define PRODUCT_NAME "${NAME} ${VERSION} (${ARCH})" !define PRODUCT_NAME "${NAME} ${VERSION} (${ARCH})"
@ -296,14 +296,18 @@ FunctionEnd
${EndIf} ${EndIf}
${EndIf} ${EndIf}
ClearErrors ${If} "${ENABLE_SHORTCUTS}" == "yes"
${GetOptions} $ARGV "/NoShortcuts=" $ARGV_NoShortcuts ClearErrors
${IfNot} ${Errors} ${GetOptions} $ARGV "/NoShortcuts=" $ARGV_NoShortcuts
${If} $ARGV_NoShortcuts = "1" ${IfNot} ${Errors}
StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED} ${If} $ARGV_NoShortcuts = "1"
${ElseIf} $ARGV_NoShortcuts = "0" StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED}
StrCpy $Ana_CreateShortcuts_State ${BST_CHECKED} ${ElseIf} $ARGV_NoShortcuts = "0"
StrCpy $Ana_CreateShortcuts_State ${BST_CHECKED}
${EndIf}
${EndIf} ${EndIf}
${Else}
StrCpy $Ana_CreateShortcuts_State ${BST_UNCHECKED}
${EndIf} ${EndIf}
ClearErrors ClearErrors
@ -1116,6 +1120,7 @@ Section "Install"
@SCRIPT_ENV_VARIABLES@ @SCRIPT_ENV_VARIABLES@
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_SAFETY_CHECKS", "disabled").r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_SAFETY_CHECKS", "disabled").r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_EXTRA_SAFETY_CHECKS", "no").r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_EXTRA_SAFETY_CHECKS", "no").r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_ROOT_PREFIX", "$INSTDIR")".r0'
System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_PKGS_DIRS", "$INSTDIR\pkgs")".r0' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_PKGS_DIRS", "$INSTDIR\pkgs")".r0'
# Extra info for pre and post install scripts # Extra info for pre and post install scripts
# NOTE: If more vars are added, make sure to update the examples/scripts tests too # NOTE: If more vars are added, make sure to update the examples/scripts tests too
@ -1163,14 +1168,6 @@ Section "Install"
AddSize @SIZE@ AddSize @SIZE@
${If} $Ana_CreateShortcuts_State = ${BST_CHECKED}
DetailPrint "Creating @NAME@ menus..."
push '"$INSTDIR\_conda.exe" constructor --prefix "$INSTDIR" --make-menus @MENU_PKGS@'
push 'Failed to create menus'
push 'WithLog'
call AbortRetryNSExecWait
${EndIf}
#if has_conda is True #if has_conda is True
DetailPrint "Initializing conda directories..." DetailPrint "Initializing conda directories..."
push '"$INSTDIR\pythonw.exe" -E -s "$INSTDIR\Lib\_nsis.py" mkdirs' push '"$INSTDIR\pythonw.exe" -E -s "$INSTDIR\Lib\_nsis.py" mkdirs'
@ -1272,10 +1269,11 @@ SectionEnd
!macroend !macroend
Section "Uninstall" Section "Uninstall"
# Remove menu items, path entries ${LogSet} on
DetailPrint "Deleting @NAME@ menus..." # Remove menu items, path entries
nsExec::ExecToLog '"$INSTDIR\_conda.exe" constructor --prefix "$INSTDIR" --rm-menus' System::Call 'kernel32::SetEnvironmentVariable(t,t)i("CONDA_ROOT_PREFIX", "$INSTDIR")".r0'
@UNINSTALL_MENUS@
# ensure that MSVC runtime DLLs are on PATH during uninstallation # ensure that MSVC runtime DLLs are on PATH during uninstallation
ReadEnvStr $0 PATH ReadEnvStr $0 PATH