【问题标题】:How do I request UAC administrative privileges with a JavaFX desktop application bundle?如何使用 JavaFX 桌面应用程序包请求 UAC 管理权限?
【发布时间】:2015-02-04 13:47:03
【问题描述】:

我需要提升 JavaFX 桌面应用程序的权限。不是 .jnlp 或网络版本。该程序将部署到桌面,所以

<fx:deploy
    ...
>
    <fx:application
        ...
    /><fx:resources>
        ...
    </fx:resources>
    <fx:preferences
        ...
    />
    <fx:info
        ...
    /><fx:permissions elevated = "true"/> <!--THIS DOESN'T WORK!!!-->
</fx:deploy>

行不通。我可以让程序在我的 IDE 中正常运行,当我部署并设置应用程序快捷方式的属性以在 Windows 中以管理员身份运行程序时,也可以正常运行。

显然,根据我的雇主的说法,无论如何,期望用户这样做(更改快捷方式属性以以管理员身份启动程序)太过分了,所以我需要另一个解决方案。

那么我需要做什么才能始终让 JavaFX 应用程序请求管理权限?

编辑:

另外,使用AccessController.doPrivileged(...) 也不起作用。

【问题讨论】:

    标签: java javafx admin desktop-application uac


    【解决方案1】:

    您可以使用 lanuch4j 将 jar 文件编译为 exe。 将 filename.manifest 添加到 basic/warpper 清单: 它将在 Windows 上作为管理员运行良好。 我已经在我的 javafx 程序上进行了测试。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
    <requestedPrivileges>
    <requestedExecutionLevel level="highestAvailable"   uiAccess="False" />
    </requestedPrivileges>
    </security>
    </trustInfo>
    </assembly>  
    

    【讨论】:

    猜你喜欢
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2020-01-25
    • 1970-01-01
    • 2020-07-13
    • 2011-12-01
    • 2012-12-30
    相关资源
    最近更新 更多