BOOL findJavaHome(char* path, const int jdkPreference) { regSearchJreSdk("SOFTWARE\\JavaSoft\\Java Runtime Environment", "SOFTWARE\\JavaSoft\\Java Development Kit", jdkPreference); if (foundJava == NO_JAVA_FOUND) { regSearchJreSdk("SOFTWARE\\IBM\\Java2 Runtime Environment", "SOFTWARE\\IBM\\Java Development Kit", jdkPreference); } if (foundJava != NO_JAVA_FOUND) { strcpy(path, foundJavaHome); debug("Runtime used:\t%s (%s-bit)\n", foundJavaVer, (foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND ? "64" : "32"); return TRUE; } return FALSE; }
BOOL findJavaHome(char* path, const int jdkPreference) { regSearchJreSdk("SOFTWARE\\JavaSoft\\Java Runtime Environment", "SOFTWARE\\JavaSoft\\Java Development Kit", jdkPreference); if (foundJava == NO_JAVA_FOUND) { regSearchJreSdk("SOFTWARE\\IBM\\Java2 Runtime Environment", "SOFTWARE\\IBM\\Java Development Kit", jdkPreference); } if (foundJava != NO_JAVA_FOUND) { HKEY hKey; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, foundJavaKey, 0, KEY_READ | (foundJava & KEY_WOW64_64KEY), &hKey) == ERROR_SUCCESS) { unsigned char buffer[BIG_STR] = {0}; unsigned long bufferlength = BIG_STR; unsigned long datatype; if (RegQueryValueEx(hKey, "JavaHome", NULL, &datatype, buffer, &bufferlength) == ERROR_SUCCESS) { int i = 0; do { path[i] = buffer[i]; } while (path[i++] != 0); // (foundJava & FOUND_SDK) { // removed by fry // appendPath(path, "jre"); // RegCloseKey(hKey); return TRUE; } RegCloseKey(hKey); } } return FALSE; }
BOOL findJavaHome(char* path, const int jdkPreference) { regSearchJreSdk("SOFTWARE\\JavaSoft\\Java Runtime Environment", "SOFTWARE\\JavaSoft\\Java Development Kit", jdkPreference); if (foundJava == NO_JAVA_FOUND) { regSearchJreSdk("SOFTWARE\\IBM\\Java2 Runtime Environment", "SOFTWARE\\IBM\\Java Development Kit", jdkPreference); } if (foundJava != NO_JAVA_FOUND) { HKEY hKey; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT(foundJavaKey), 0, regWow64Option | KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) { unsigned char buffer[BIG_STR] = {0}; unsigned long bufferlength = BIG_STR; unsigned long datatype; if (RegQueryValueEx(hKey, "JavaHome", NULL, &datatype, buffer, &bufferlength) == ERROR_SUCCESS) { int i = 0; do { path[i] = buffer[i]; } while (path[i++] != 0); if (foundJava == FOUND_SDK) { strcat(path, "\\jre"); } RegCloseKey(hKey); return TRUE; } RegCloseKey(hKey); } } return FALSE; }