以具有完全权限的管理员身份运行 Java 文件

2023-11-30

我制作了一个Java应用程序,并在我的电脑和我创造的电脑上测试了它,到目前为止一切顺利...... 但是这个应用程序是为我的另一个有迪斯科的朋友准备的,当我在他的电脑(Windows Vista 32 位)上“安装”我的应用程序时,它不起作用,然后我去搜索和搜索,发现问题是权限...我安装了 vista 32 位和 xp 32 位的虚拟机来进行一些测试,但我无法以完全管理员权限运行我的应用程序。

有什么方法可以创建批处理文件或允许我以所有权限运行我的应用程序的文件吗?我的意思是因为我需要连接到计算机的 COM 端口以从设备获取一些数据,并且我需要存储一些文件,并且由于我使用的是外部库,所以我可能需要一些我不知道的权限...我已经尝试过了,但没有任何效果:

elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar"

使用微软的提升脚本,我还创建了一个批处理文件

runas /user:Administrator myjar.jar

但没有任何效果:\ 有任何想法吗?先感谢您


这个答案适用于那些愿意为其 jar 或 java 类提供管理权限的人。成功开发一个exe来编辑admin中保存的文件后。受限目录,我为您制定了以下步骤,希望对您有所帮助: 需要理解的事情: 1) Jars 不会直接使用权限编译,而是必须用其他一些 mainfest 文件包装它们,最终获得能够在 windows xp/ vista/ 或更高版本上以权限运行的 exe 文件。实际上,到目前为止可能的答案是,在运行之前,exe 会强制用户授予管理员权限,这与以前不同,用户需要知道如何使用管理员权限运行 jar,这是不友好的。

现在简单的步骤:

  1. 创建像 try2.jar 这样的 jar 文件,其中包含一些清单文件 - 我的 1.mf 一如既往。因此,jar 文件的绝对路径将是 C:\try.jar。

  2. 现在你需要下载一个软件“Launch4j”,它将帮助你打包jar文件。它的下载链接是:http://sourceforge.net/projects/launch4j/files/launch4j-3/3.1.0-beta2/

  3. 现在取出5分钟。并观看本教程:http://www.youtube.com/watch?v=mARUFRknTYQ;这将告诉您Launch4j的基本功能。但这里并不清楚如何为您的 exe 创建清单文件。

  4. 学习完这些后,然后创建一个清单文件,它是一个简单的文本文件,扩展名为“.manifest”保存。但这里需要注意一些事情:首先,您的 mainfest 文件必须与要创建的最终 exe 文件具有相同的名称。就我而言,我的 exe 名称应该是“Launchme.exe”,因此,我的清单文件必须命名为“Launchme.manifest”。其次,在清单文件中复制以下内容:

    <?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>  
    

将上述代码复制到您的清单文件中。这里第6行是整个问题的关键。然后保存并关闭它。

  1. 现在启动 Launch4j,根据您的条件填写所有教授的文本字段,就像视频中一样。在 Wrapper mainfest 列中添加此文件清单文件。然后单击“保存配置”选项,然后单击--Build Wrapper。

现在您有包含 jar 的 exe,它要求用户在执行之前授予管理员权限。现在用户除了点击之外不需要知道任何事情!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以具有完全权限的管理员身份运行 Java 文件 的相关文章

随机推荐

  • Python 3.6 urllib 为什么行以 b 开头

    我正在使用 python 3 并且不明白为什么输出在每个行的开头都有 b 我不认为 python 2 是这种情况 为什么会这样以及如何删除它 谢谢 import urllib fhand urllib urlopen http www py
  • AngularJS 通过选择空选项进行过滤

    我正在尝试为 AngularJS 中的表构建一个过滤系统 我有一个产品列表 每个产品都与一个系统绑定 我希望能够在选择中列出所有系统 并按所选系统过滤产品 除了选择空选择选项 该选项会过滤掉所有系统 之外 这非常有效 这是我的示例代码 控制
  • PyCharm 奇怪的类型警告[重复]

    这个问题在这里已经有答案了 为什么下面的代码会这样 v None for in range 3 v 1 0 lt lt lt 告诉我这个 意外类型 整数 整数 可能的类型 整数 无 切片 可迭代 无 消除此类警告的一个简单解决方法是添加类型
  • 在 MATLAB 中使用 sendmail 指定抄送地址

    MATLAB 的典型使用 调用sendmail函数看起来像这样 content body text attachments attachment pdf set preferences setpref Internet SMTP Serve
  • 如何检索实际的 OleDb 表架构(不包括其他表列)

    当我运行此代码时 它还会检索表中不存在的一些其他字段 我怎样才能克服这个问题 Dim conn As New OleDb OleDbConnection Create a connection string for an Access da
  • 从 C 到 Objective-C 的回调方法

    我有一个 Objective C 课程 我正在做的是在 Objective C 类中调用 C 函数 这个 C 函数是我在一个文件中实现的 该文件是这个示例 ios 项目的一部分 所有 C 函数都工作正常 到目前为止没有任何问题 当我尝试调用
  • 通过 PHP 使用 maxlength 标签检查表单输入长度

    我的问题很简单 如果我在 HTML 表单中有一些带有 maxlength 标记的输入字段 我也必须通过 PHP 检查输入长度吗 您应该这样做 因为任何人都可以 复制 您的表格并使用它 服务器端检查比客户端更好 它是安全的 例如 您的表格
  • 如何让动画和手势识别器协同工作? (迅速)

    我做了一个简单的项目 带有滑动手势识别器和动画 我让标签移动并且每 3 秒增加一次数字 每次滑动我都需要减少数量 我的手势识别器对象与标签绑定在一起 即它仅在标签范围内工作 当 prog 在没有动画的情况下工作时 一切正常 但是当它有动画时
  • 这个函数签名在sml中是什么意思?

    我正在查看我的教授关于 SML 语言的一些注释 其中一个函数如下所示 fun max gt let fun lp curr curr lp curr a l if gt a curr then lp a l else lp curr l i
  • 返回并使用带有匹配的泛型类型

    我正在开发一个简单的 Rust 应用程序 它接受标准输入并根据它进行操作 我想让每个命令返回一个结果向量 不同的命令可能返回不同类型的向量 这list方法返回一个向量PathBufs 但默认匹配臂返回字符串 use std io fs us
  • 无法在 Apache Tomcat 上运行 JAX-WS Java Web 服务

    Summary 我的任务是编写一个 Java Web 服务来集成企业环境中的两个不同的系统 由于我实际上是一名经验丰富的 C NET MVC 开发人员 并且只认为自己在 Java 方面处于中级水平 因此我首先搜索 Java Web Serv
  • DllImport 非托管、非 .NET Dll 到表示 Char * 和 Void __StdCall 的 .NET 项目

    我有一个用 Borland C 编写的非 net 和非托管 DLL 需要导入 它返回 void 并在函数上具有标识符 stdcall 它还需要传递 char 当我尝试将其添加为 VS 2005 中项目的引用时 它返回无效程序集的错误 我怎样
  • JTabbedPane 中的选项卡不反映按下按钮时的更改

    在我的 GUI 的选项卡中 用户可以编辑员工的姓名 该名称还用作选项卡的标签 因此当确认更改时 应更新选项卡以反映此更改 并将新数据写入数据文件 员工被存储在HashMap在课堂里Employees 这些选项卡是通过迭代来填充的ArrayL
  • 简单 lambda 表达式代码上的“AssignmentOperator Expression”错误

    我现在正在学习如何使用 lambda 表达式 并且我已经看过一些带有简单示例的教程 int x gt x 5 但我的编译器显示此错误 Syntax error insert AssignmentOperator Expression to
  • 任务执行失败:app:processDebugManifest Android Studio 2.3.3

    添加后出现编译错误CardView and 回收视图依赖关系 我检查了每一篇文章 但似乎没有人解决这个问题 Error 错误 任务 app processDebugManifest 执行失败 清单合并失败 属性元数据 android sup
  • 如何将值从主窗体返回到不同的窗体或类(C#)

    由于某些未知的原因 这个愚蠢的事情无法实施 我有一个int count在我想返回到另一个类或表单的主表单中 namespace my speller public partial class login Form public login
  • 如何在 EF 代码优先中禁用链接表的级联删除?

    我想禁用实体框架代码优先的链接表的级联删除 例如 如果许多用户拥有许多角色 并且我尝试删除一个角色 我希望阻止该删除unless当前没有与该角色关联的用户 我已经删除了我的级联删除约定OnModelCreating protected ov
  • CSS 边框渲染

    我想知道是否可以指定边框绘制风格 not border style 与CSS 我需要它至少适用于webkit 嗯 我有一个像这样的元素div border它有四边边框5px silver solid 但取决于班级的增加 比如div bord
  • 在 std::vector 中模板化存储多种不同类型

    谢谢大家抽出宝贵的时间 我真的很感激 需要使用模板化方式在 std vector 中存储不同类型的多个变量 要使用以下函数 程序员必须了解变量存储的顺序以及存储的变量数量 class NetVar 创建一个子类来保存实际变量 templat
  • 以具有完全权限的管理员身份运行 Java 文件

    我制作了一个Java应用程序 并在我的电脑和我创造的电脑上测试了它 到目前为止一切顺利 但是这个应用程序是为我的另一个有迪斯科的朋友准备的 当我在他的电脑 Windows Vista 32 位 上 安装 我的应用程序时 它不起作用 然后我去