带有JNA + DLL的Java程序需要在Win10上的C:\ Program Files下运行“以管理员身份运行”吗?

时间:2016-04-29 16:29:53

标签: java windows dll windows-10 jna

我有一个Java 8程序,在我的Windows 10计算机上运行正常除了从C:\ Program Files或C:\ Program Files(x86)下运行时需要“以管理员身份运行“工作。

从C:\ Program Files运行Java程序和访问硬件有哪些限制?

这个Java程序使用JNA加载DLL和JavaFX来显示UI,因此可能是相关的。使用JavaFX但在 NOT JNA和DLL的同一目录中的配套程序可以在任何地方正常工作。

这不是安装程序问题,因为不涉及安装程序;使用安装程序时,行为不会改变。

嵌入式路径或使用嵌入式路径不是问题 (x86)和/或路径中的空格,与C:\ Program Files(x86)类似的命名目录也可以正常工作。

1 个答案:

答案 0 :(得分:1)

我不相信这个问题与Java有关,它更多的是关于操作系统安全模型。请注意,例如,您无法将文件直接保存到这两个文件夹,但可以使用提升的提示将任何文件复制到该文件夹​​。这是一个很好的安全措施,过去它可以通过关闭UAC(无论如何不推荐)来关闭(据我所记得)。

如果您想在未来更新您的应用程序,请将其放置在尽可能多的应用程序所在的不同位置。