java - 如何使用java运行setup.exe文件

标签 java security permissions runtime.exec

我正在开发一个 java 应用程序,我必须从中运行 xyz_setup.exe 安装程序。我尝试了以下代码

String command = "C:\\xyz_setup.exe"; 
Runtime.getRuntime().exec(command);`

但它抛出以下错误

java.io.IOException: Cannot run program "C:\Users\NewtonApples\Downloads\idman614.exe": CreateProcess error=740, The requested operation requires elevation
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    at java.lang.Runtime.exec(Runtime.java:615)
    at java.lang.Runtime.exec(Runtime.java:448)
    at java.lang.Runtime.exec(Runtime.java:345)
    at upendra.OpenExternalApplication.main(OpenExternalApplication.java:19)
Caused by: java.io.IOException: CreateProcess error=740, The requested operation requires elevation
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:189)
    at java.lang.ProcessImpl.start(ProcessImpl.java:133)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
    ... 4 more

谁能建议我怎么做?

最佳答案

Java(或者可能是任何其他直接使用 CreateProcess 系统调用的进程)不适用于需要访问权限提升的可执行文件。 你可以通过 shell 执行你的程序来解决这个问题:

  String command = "C:\\setup.exe";
  Runtime.getRuntime().exec("cmd /c "+command);

关于java - 如何使用java运行setup.exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14392944/

相关文章:

java - servlet 与 J2me 项目通信?

java - 由 : org. hibernate.LazyInitializationException 引起:未能延迟初始化角色集合:

javascript - 防止浏览器自动填写表单域

php - 在 Symfony2 和 FOSUserBundle 中,覆盖 login_check

html - 我应该将站点地图设置为什么权限?

PHP命令行错误: Timezone database is corrupt

java - 如何在连续按下 JButton 的同时使用 Clip 更流畅地播放音频文件

java - 如何动态更新图像到jlabel

javascript - 为什么在 JS 中写入剪贴板被认为是安全漏洞?

xml - 如何以编程方式授予用户权限?