我们必须使用提升来运行基于Java的应用程序的更新程序(因此它可以覆盖安装位置中的文件,通常是%ProgramFiles%\<productName>
)。到目前为止,我使用了一个请求提升并调用另一个脚本的.vbs脚本。有人告诉我,在某些公司中,由于安全原因,不允许运行.vbs脚本。我宁愿创建一个需要提升的.exe。这就是我所做的,但现在当我尝试从Java直接启动那个需要升级的应用程序时,它失败并出现java.io.IOException:CreateProcess error = 740,请求的操作需要提升。
如何运行Windows自动请求所需高程的应用程序?
答案 0 :(得分:1)
问题是在Windows上似乎至少有两种启动方式。在Java中,使用Process
实现。我在SWT的Program.launch
实现中找到了另一个(使用ShellExecute
)。使用后者时,Windows会在必要时要求用户提升。