diff --git a/updater/src/com/intellij/updater/Patch.java b/updater/src/com/intellij/updater/Patch.java index 1cdf11b11d24..7497c0854228 100644 --- a/updater/src/com/intellij/updater/Patch.java +++ b/updater/src/com/intellij/updater/Patch.java @@ -362,9 +362,13 @@ public class Patch { return new PatchFileCreator.ApplicationResult(false, appliedActions, t); } + File jre64 = new File(toDir.getAbsolutePath() + "/jre64"); for (File directory : createdDirectories) { File[] children = directory.listFiles(); - if (children != null && createdOptionalFiles.containsAll(Arrays.asList(children))) { + if (children != null && + (!directory.getAbsolutePath().contains("jre64") || + directory.getAbsolutePath().contains("jre64") && !jre64.exists()) && + createdOptionalFiles.containsAll(Arrays.asList(children))) { Runner.logger().info("Pruning empty directory: " + directory); try { Utils.delete(directory);