我将开发一个 java web start 应用程序,它需要访问受保护的系统目录并在那里安装一个程序。
我知道,如何退出沙箱,我的应用程序已签名并可以访问文件系统。问题是,它仍然无法访问像 C:/windows/system32 这样的目录。
我找到了独立 Java 应用程序的解决方案: Java:以管理员身份运行
如何在 java web start 中执行此操作?
提前感谢您的回答!
我将开发一个 java web start 应用程序,它需要访问受保护的系统目录并在那里安装一个程序。
我知道,如何退出沙箱,我的应用程序已签名并可以访问文件系统。问题是,它仍然无法访问像 C:/windows/system32 这样的目录。
我找到了独立 Java 应用程序的解决方案: Java:以管理员身份运行
如何在 java web start 中执行此操作?
提前感谢您的回答!
在您的情况下,您可能可以尝试使用以下技巧:
预编译一个 jar 文件,其中 Manifest 指向主类,该类执行所有必需的文件系统例程
将此 jar 放入 Web-Start 应用程序的资源文件夹中的某个位置,然后在执行 Web-Start 时将其复制到用户的 Temp 文件夹中
以类似的方式从高程 PowerToys提供所需的文件
将“%PATH_TO_USER_TEMP%/elevate”命令与“java -jar %PATH_TO_USER_TEMP%/yourJar.jar”一起调用(请参阅上面的文章或有关 Elevation PowerToys 的附加文档以了解详细信息)
如果一切顺利,用户将收到一个请求,要求授予已执行的 java 进程所需的管理员权限。