3

xyz_setup.exe インストーラーを実行する必要がある Java アプリケーションを開発しています。次のコードを試しました

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

誰でもこれを行う方法を提案できますか?

4

1 に答える 1

5

CreateProcessJava (またはシステム コールを直接使用するその他のプロセス) は、アクセスの昇格を必要とする実行可能ファイルには適していません。シェル経由でプログラムを実行することで、これを回避できます。

  String command = "C:\\setup.exe";
  Runtime.getRuntime().exec("cmd /c "+command);
于 2013-01-18T05:45:38.007 に答える