请求提升java

时间:2014-09-17 15:22:04

标签: java windows elevation

我们必须使用提升来运行基于Java的应用程序的更新程序(因此它可以覆盖安装位置中的文件,通常是%ProgramFiles%\<productName>)。到目前为止,我使用了一个请求提升并调用另一个脚本的.vbs脚本。有人告诉我,在某些公司中,由于安全原因,不允许运行.vbs脚本。我宁愿创建一个需要提升的.exe。这就是我所做的,但现在当我尝试从Java直接启动那个需要升级的应用程序时,它失败并出现java.io.IOException:CreateProcess error = 740,请求的操作需要提升。

如何运行Windows自动请求所需高程的应用程序?

1 个答案:

答案 0 :(得分:1)

问题是在Windows上似乎至少有两种启动方式。在Java中,使用Process实现。我在SWT的Program.launch实现中找到了另一个(使用ShellExecute)。使用后者时,Windows会在必要时要求用户提升。