1
0
mirror of https://github.com/SKCraft/Launcher.git synced 2025-02-15 01:31:22 +01:00

Fix not checking all registry keys for jvm if the previous key did not exist in the registry.

This commit is contained in:
Magi1053 2021-11-14 19:19:16 -06:00 committed by GitHub
parent 8271c83162
commit b3cbba2709
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -50,13 +50,9 @@ public final class JavaRuntimeFinder {
launcherDir = new File(programFiles, "Minecraft Launcher");
}
try {
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\Java Runtime Environment");
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\Java Development Kit");
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\JDK");
} catch (Throwable err) {
log.log(Level.WARNING, "Failed to read Java locations from registry", err);
}
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\Java Runtime Environment");
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\Java Development Kit");
getEntriesFromRegistry(entries, "SOFTWARE\\JavaSoft\\JDK");
} else if (env.getPlatform() == Platform.LINUX) {
launcherDir = new File(System.getenv("HOME"), ".minecraft");
@ -159,13 +155,17 @@ public final class JavaRuntimeFinder {
}
private static void getEntriesFromRegistry(Collection<JavaRuntime> entries, String basePath)
throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
List<String> subKeys = WinRegistry.readStringSubKeys(WinRegistry.HKEY_LOCAL_MACHINE, basePath);
for (String subKey : subKeys) {
JavaRuntime entry = getEntryFromRegistry(basePath, subKey);
if (entry != null) {
entries.add(entry);
throws IllegalArgumentException {
try {
List<String> subKeys = WinRegistry.readStringSubKeys(WinRegistry.HKEY_LOCAL_MACHINE, basePath);
for (String subKey : subKeys) {
JavaRuntime entry = getEntryFromRegistry(basePath, subKey);
if (entry != null) {
entries.add(entry);
}
}
} catch (Throwable err) {
log.log(Level.INFO, "Failed to read Java locations from registry in " + basePath);
}
}