【问题标题】:how to get 'Run as administrator' in jar applications如何在 jar 应用程序中获得“以管理员身份运行”
【发布时间】:2018-08-05 07:52:32
【问题描述】:

我有一个使用 Swing 作为 GUI 库的桌面 Java 应用程序。我必须在此应用程序中安装一个安装程序,但它必须具有管理权限

我正在使用

Process p = Runtime.getRuntime().exec(pathToTheExeInstaller);

安装程序。但是在没有管理员权限的情况下运行时出现此错误:

在 NetBeans 中使用 clean 和 build 时,有没有办法在生成的 jar 文件的上下文菜单(右键菜单)中获得 以管理员身份运行

【问题讨论】:

标签: java


【解决方案1】:

这是你需要的,

Runtime.getRuntime().exec("powershell.exe Start-Process 'pathToTheExeInstaller' -verb RunAs");

这将提示用户请求权限以获得安装程序的提升访问权限。

摘自this answer


例子

Runtime.getRuntime().exec("powershell.exe Start-Process 'notepad.exe' -verb RunAs");

【讨论】:

  • 我试过了,它给参数一个错误,路径包含空格,所以我把“”,仍然给出一个错误。
  • 我做了,但问题是路径中有~1,它是createTempDirectory 返回的。
  • 我收到此错误:Start-Process : This command cannot be run due to the error: The system cannot find the file specified. At line:1 char:1 + Start-Process C:\Users\TAREQK~1\AppData\Local\Temp\NSIS Installer7238 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
  • @Tarek 我已经编辑了答案,现在检查一下。使用' 而不是"
  • 是的,对不起,我忘了。
【解决方案2】:

右击“命令提示符”,选择“以管理员身份运行”,即可

java -jar myprogram.jar

【讨论】:

  • 阅读 cmets。 OP 不想这样做。
猜你喜欢
  • 2017-09-20
  • 2011-09-24
  • 2010-12-19
  • 1970-01-01
  • 2011-12-29
  • 2013-05-31
  • 2012-08-08
相关资源
最近更新 更多