Zitat von
Corelgott:
Lange rede kurzer sinn: Eine schlecht geschriebene close source
dll die intern auf die JRE zurückgreift.
Die Frage ist nun, wenn ich es richtig verstehe: "Wie findet die
DLL die JRE?"
Drei Möglichkeiten fallen mir ein:
* die
DLL schaut in der Registry nach (HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment) - hier können auch mehrere JRE's stehen
* die
DLL schaut im PATH nach (ist eher unwahrscheinlich)
* die
DLL liest aus einer Konfigurationsdatei, einer Umgebungsvariable oder einer anderen Informationsquelle, die von dem Treiberpaket bei der Installation hinterlegt wird
Durch Probieren könnte man die ersten beiden Möglichkeiten leicht prüfen (Ändern der PATH EInstellung oder des Registry Keys). Umgebungsvariablen kann man auch leicht prüfen, einen Registrykey des Treibers könnte man mit etwas Glück finden.
Ich würde auch prüfen, ob es wirklich die
DLL ist, die die JRE aufruft. Wenn sie eine eigene JVM startet und mit ihr über JNI kommuniziert, müßte man das im Taskmanager sehen können (Java Prozess vorhanden?). Wenn der Java Prozess aber schon zu sehen ist, bevor die
DLL geladen wurde, ist es vermutlich umgekehrt - Java ruft
DLL.