diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/IdeasyCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/IdeasyCommandlet.java index 2405ad193b..c4a3788199 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/IdeasyCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/IdeasyCommandlet.java @@ -615,7 +615,13 @@ private void deleteDownloadCache() { private void uninstallIdeasyIdePath(Path idePath) { if (this.context.getSystemInfo().isWindows()) { - this.context.newProcess().executable("bash").addArgs("-c", + Path bash = this.context.findBash(); + if (bash == null) { + LOG.warn("Could not find bash for asynchronous deletion of {}. Falling back to direct deletion.", idePath); + this.context.getFileAccess().delete(idePath); + return; + } + this.context.newProcess().executable(bash).addArgs("-c", "sleep 10 && rm -rf \"" + WindowsPathSyntax.MSYS.format(idePath) + "\"").run(ProcessMode.BACKGROUND); IdeLogLevel.INTERACTION.log(LOG, "To prevent windows file locking errors, we perform an asynchronous deletion of {} in background now.\n" diff --git a/windows-installer/Package.wxs b/windows-installer/Package.wxs index de44aef08e..14d72a7d37 100644 --- a/windows-installer/Package.wxs +++ b/windows-installer/Package.wxs @@ -12,7 +12,7 @@ - + @@ -51,7 +51,7 @@