File tree Expand file tree Collapse file tree 3 files changed +26
-3
lines changed
tooling/bundler/src/bundle/windows Expand file tree Collapse file tree 3 files changed +26
-3
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ " @tauri-apps/cli " : patch:bug
3+ " tauri-cli " : patch:bug
4+ " tauri-bundler " : patch:bug
5+ ---
6+
7+ Fixes an issue in the NSIS installer which caused the uninstallation to leave empty folders on the system if the ` resources ` feature was used.
Original file line number Diff line number Diff line change @@ -303,6 +303,17 @@ fn build_nsis_app_installer(
303303 let resources = generate_resource_data ( settings) ?;
304304 let resources_dirs =
305305 std:: collections:: HashSet :: < PathBuf > :: from_iter ( resources. values ( ) . map ( |r| r. 0 . to_owned ( ) ) ) ;
306+
307+ let mut resources_ancestors = resources_dirs
308+ . iter ( )
309+ . flat_map ( |p| p. ancestors ( ) )
310+ . collect :: < Vec < _ > > ( ) ;
311+ resources_ancestors. sort_unstable ( ) ;
312+ resources_ancestors. dedup ( ) ;
313+ resources_ancestors. sort_by_key ( |p| std:: cmp:: Reverse ( p. components ( ) . count ( ) ) ) ;
314+ resources_ancestors. pop ( ) ; // Last one is always ""
315+
316+ data. insert ( "resources_ancestors" , to_json ( resources_ancestors) ) ;
306317 data. insert ( "resources_dirs" , to_json ( resources_dirs) ) ;
307318 data. insert ( "resources" , to_json ( & resources) ) ;
308319
Original file line number Diff line number Diff line change @@ -533,7 +533,6 @@ Section Install
533533
534534 ; Copy resources
535535 {{# each resources_dirs}}
536- ; `\\` is not a typo.
537536 CreateDirectory " $INSTDIR\\{{this}}"
538537 {{/each}}
539538 {{# each resources}}
@@ -623,7 +622,6 @@ Section Uninstall
623622 ; Delete resources
624623 {{# each resources}}
625624 Delete " $INSTDIR\\{{this.[1]}}"
626- RMDir " $INSTDIR\\{{this.[0]}}"
627625 {{/each}}
628626
629627 ; Delete external binaries
@@ -634,7 +632,14 @@ Section Uninstall
634632 ; Delete uninstaller
635633 Delete " $INSTDIR\uninstall.exe"
636634
637- RMDir " $INSTDIR"
635+ ${If} $DeleteAppDataCheckboxState == 1
636+ RMDir /R /REBOOTOK " $INSTDIR"
637+ ${Else}
638+ {{# each resources_ancestors}}
639+ RMDir /REBOOTOK " $INSTDIR\\{{this}}"
640+ {{/each}}
641+ RMDir " $INSTDIR"
642+ ${EndIf}
638643
639644 ; Remove start menu shortcut
640645 !insertmacro MUI_STARTMENU_GETFOLDER Application $AppStartMenuFolder
You can’t perform that action at this time.
0 commit comments