代码之家  ›  专栏  ›  技术社区  ›  Hashir Baig

Java应用程序在放入程序文件时需要管理员访问才能运行

  •  0
  • Hashir Baig  · 技术社区  · 6 年前

    我正在开发一个java(javafx)桌面应用程序。我正在用 启动4J 工具,然后使用 Inno安装编译器 (默认安装路径设置为C:\程序文件(x86)) 应用程序本身不需要任何管理权限,当我在桌面上复制exe或在C以外的驱动器上运行它时运行良好。(如果我在本地appdata文件夹中运行它,也可以运行良好) 但我需要把它放在程序文件(x86)目录中。 如果我将应用程序安装在该目录中,它不会打开,因此我必须为launch4j创建一个清单文件,以便每次打开时它都会询问管理员访问权限这样做很好,但在这种情况下每次都会询问管理员访问权限。

    我需要让这个应用程序运行,而不要求每次管理员访问。 如果有什么解决办法,请带我过去。 任何帮助都将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Hashir Baig    6 年前

    好吧,所以我有点明白了。我想jar在读取系统目录时遇到了问题,我不得不对配置文件执行一些读/写操作。所以我将配置路径更改为:

    String path = Controller.class.getProtectionDomain().getCodeSource().getLocation().getPath() + "\\Data\\";
    

    现在它在jar文件中创建了一个名为“Data”的文件夹,并从中进行读/写操作我不知道这是不是一个坏的做法,但它似乎对我很好的工作。

    非常感谢@user31601,他给了我一些提示,帮助我找到了这个解决方案。