From 1d8379fcb6f8386a74fbf9a520f3640957272e6f Mon Sep 17 00:00:00 2001 From: henkdegroot <13550012+henkdegroot@users.noreply.github.com> Date: Sun, 21 Mar 2021 10:20:26 +0100 Subject: [PATCH] Fixes #864 --- windows/installer.nsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/installer.nsi b/windows/installer.nsi index d782e1260c..559e85fc96 100755 --- a/windows/installer.nsi +++ b/windows/installer.nsi @@ -118,8 +118,8 @@ Var bRunApp !define prefix "${DEPLOY_PATH}\${buildArch}" !tempfile files - ; Find target folders (Probably here's an issue with quoting. If ${prefix} contains spaces, the installer folders aren't created in the right way.) - !system 'cmd.exe /v /c "for /f "usebackq" %d in (`dir /b /s /ad "${prefix}"`) do \ + ; Find target folders (#864 resolved by adding delims= to the for command. This prevents splitting path names when the path contains spaces) + !system 'cmd.exe /v /c "for /f "usebackq delims=" %d in (`dir /b /s /ad "${prefix}"`) do \ @(set "_d=%d" && echo CreateDirectory "$INSTDIR\!_d:${prefix}\=!" >> "${files}")"' ; Find target files @@ -415,8 +415,8 @@ FunctionEnd !system 'cmd.exe /v /c "for /r "${prefix}" %f in (*.*) do \ @(set "_f=%f" && echo Delete "$INSTDIR\!_f:${prefix}\=!" >> "${files}")"' - ; Find target folders in reverse order to ensure they can be deleted when empty - !system 'cmd.exe /v /c "for /f "usebackq" %d in \ + ; Find target folders in reverse order to ensure they can be deleted when empty (include delims= to prevent splitting path names when the path contains spaces) + !system 'cmd.exe /v /c "for /f "usebackq delims=" %d in \ (`dir /b /s /ad "${prefix}" ^| C:\Windows\System32\sort.exe /r`) do \ @(set "_d=%d" && echo RMDir "$INSTDIR\!_d:${prefix}\=!" >> "${files}")"'