Смотрите на этот статья , которая показывает ключи реестра, которые Вы должны искать и обеспечиваете библиотеку.NET, которая сделает это для Вас.
Первый, Вы должны, чтобы определить, установлена ли.NET 3.5 путем рассмотрения Платформы HKLM\Software\Microsoft\NET Setup\NDP\v3.5\Install, который является значением DWORD. Если то значение присутствует и набор к 1, то та версия Платформы установлена.
Взгляд на Платформу HKLM\Software\Microsoft\NET Setup\NDP\v3.5\SP, который является значением DWORD, которое указывает на уровень Пакета обновления (где 0 не пакет обновления).
, Чтобы быть корректными о вещах, действительно необходимо удостовериться, что.NET Fx 2.0 и.NET Fx 3.0 установлены сначала и затем проверяют, чтобы видеть, установлена ли.NET 3.5. Если все три верны, то можно проверить на уровень пакета обновления.
Не уверен, что это может помочь, но пытались ли вы явно указать путь к классам?
getClassPath()
{
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL[] urls = ((URLClassLoader) classLoader).getURLs();
StringBuilder buf = new StringBuilder(1000);
buf.append(".");
String separator = System.getProperty("path.separator");
for (URL url : urls) {
buf.append(separator).append(url.getFile());
}
}
classPath = buf.toString();
, а затем
options.add("-classpath");
options.add(getClassPath());
Я также не вижу, где вы передаете LoaderImpl
в компилятор
. Разве это не должно быть сделано явно?