From 800f1b147b3fcdfe335af5c98a28d01df4b2d7df Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Tue, 29 Sep 2026 14:21:17 +0800 Subject: [PATCH] refactor(desktop): retain existing installer directory lifecycle --- apps/desktop/installer/lifecycle.nsh | 1 - apps/desktop/scripts/installer-directories.nsh | 4 +--- apps/desktop/scripts/windows-directory-installer.mjs | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/desktop/installer/lifecycle.nsh b/apps/desktop/installer/lifecycle.nsh index 64add5a263..525fde4080 100644 --- a/apps/desktop/installer/lifecycle.nsh +++ b/apps/desktop/installer/lifecycle.nsh @@ -74,7 +74,6 @@ Function InstallerProgressShow FunctionEnd Function .onInstFailed - Call dshCleanupDirectories MessageBox MB_OK|MB_ICONEXCLAMATION "$(INSTALLER_FAILED)" /SD IDOK SetErrorLevel 2 Quit diff --git a/apps/desktop/scripts/installer-directories.nsh b/apps/desktop/scripts/installer-directories.nsh index a06636b620..49d4a2fb82 100644 --- a/apps/desktop/scripts/installer-directories.nsh +++ b/apps/desktop/scripts/installer-directories.nsh @@ -16,7 +16,7 @@ Var dshNewMoved !endif ${If} $R0 != 0 DetailPrint $R1 - Call dshCleanupDirectories + Call dshRollbackDirectories !ifmacrodef customInstallerExtractFailed !insertmacro customInstallerExtractFailed "${FILE}" !else @@ -31,7 +31,6 @@ Var dshNewMoved StrCpy $dshFinalDirectory $INSTDIR System::Call 'ole32::CoCreateGuid(g .r0) i .r1' ${If} $1 != 0 - Call dshCleanupDirectories SetErrorLevel 2 Quit ${EndIf} @@ -42,7 +41,6 @@ Var dshNewMoved ClearErrors CreateDirectory $dshNewDirectory ${If} ${Errors} - Call dshCleanupDirectories SetErrorLevel 2 Quit ${EndIf} diff --git a/apps/desktop/scripts/windows-directory-installer.mjs b/apps/desktop/scripts/windows-directory-installer.mjs index e3f8a73d27..0f2f985142 100644 --- a/apps/desktop/scripts/windows-directory-installer.mjs +++ b/apps/desktop/scripts/windows-directory-installer.mjs @@ -37,7 +37,7 @@ export function directoryInstallSection(source) { !macroend`) result = replaceOnce(result, '!insertmacro setLinkVars', `!insertmacro setLinkVars !insertmacro dshStageApplication`) - result = replaceOnce(result, '!insertmacro installApplicationFiles', 'Call dshPromoteDirectories\n${If} ${Errors}\n Call dshCleanupDirectories\n SetErrorLevel 2\n MessageBox MB_OK|MB_ICONEXCLAMATION "$(appCannotBeClosed)" /SD IDOK\n Quit\n${EndIf}') + result = replaceOnce(result, '!insertmacro installApplicationFiles', 'Call dshPromoteDirectories\nIfErrors 0 +4\n SetErrorLevel 2\n MessageBox MB_OK|MB_ICONEXCLAMATION "$(appCannotBeClosed)" /SD IDOK\n Quit') result = replaceOnce(result, '!ifdef UNINSTALLER_ICON\n File /oname=uninstallerIcon.ico "${UNINSTALLER_ICON}"\n!endif\n', '') // The staging macro uses the upstream installer macro, including its signed uninstaller. return result