У меня есть программа на Java 8, которая отлично работает везде на моем компьютере под управлением Windows 10 , за исключением при запуске из-под C: \ Program Files или C: \ Program Files (x86), где требуется, чтобы она выполнялась как «Администратор» для работы ,Java-программа с JNA + DLL требует «Запуск от имени администратора» в папке C: Program Files на Win10?
Каковы ограничения для запуска программ Java и доступа к оборудованию из C: \ Program Files?
Эта Java-программа использует JNA для загрузки DLL и JavaFX для отображения пользовательского интерфейса, поэтому, возможно, это связано. Сопутствующая программа в том же каталоге, что и на JavaFX, но NOT JNA и DLL работают отлично.
Это не вопрос установщика, поскольку установщик не задействован; при использовании установщика поведение не меняется.
Это не проблема со встроенными путями или с (x86) и/или пробелами в пути, так как аналогичные именованные каталоги в C: \ Program Files (x86) также отлично работают.
Если вы хотите больше, чем дикие догадки, вам нужно будет рассказать нам, что на самом деле не так, когда вы запускаете программу без повышения. Предполагая, что программа запускается, но затем терпит неудачу, наиболее распространенной причиной является то, что программа пытается записать в каталог, из которого она выполняется. –
Сбой в пользовательском вызове библиотеки, который трудно отлаживать, но я думаю, что библиотека пытается записать файл, например, как предлагает Алекс. – simpleuser