загрузка dll, которая требует повышенных привилегий UAC с jni - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть DLL, которая имеет определенные функции, для работы которых требуются повышенные привилегии UAC.Я изменил файл манифеста на level=requireAdministrator, но когда я загружаю dll в Java, функциональность не срабатывает.

Обратите внимание, что загрузка dll работает, но реализация собственных методов выполняется так, как будто нет повышенных привилегий (даже не просит меня использовать привилегии UAC с повышенными правами).

Установка состоит из запускаемого файла jar (экспортированного с помощью Eclipse) с собственным файлом библиотеки в том же каталоге.В идеале я хотел бы, чтобы кто-то просто дважды щелкнул файл jar для запуска программы.

Есть ли какой-нибудь способ, которым я мог бы заставить этот конкретный файл jar запускать JVM с повышенными привилегиями (в отличие от постоянного или никогда не запускатьJVM с повышенными привилегиями)?Или для запуска JVM с повышенными привилегиями требуется внешняя программа?

1 Ответ

1 голос
/ 01 апреля 2011

Вы не можете изменить привилегии запущенного процесса.Когда JVM загружает вашу DLL, она уже запущена.

Вам нужно будет запустить средство запуска .exe с requireAdministrator в манифесте.Когда пользователь дважды щелкает его, система запрашивает повышение привилегий, после запуска процесса вы можете запустить JVM, и он унаследует повышенные привилегии.

...