我正在使用 Java 代码在 Win8 上安装 EXE 程序,方法是在 CML 中执行此命令“java -jar installapp.jar”。“以管理员身份运行”不会打开命令行窗口,但当前用户是管理员组的成员。
但是,在同一个 CML 窗口中,如果我直接安装 EXE,它可以工作。它只是在由 Java 执行安装时失败。
所以有人可以给我小费吗?
非常感谢,迈克尔
我正在使用 Java 代码在 Win8 上安装 EXE 程序,方法是在 CML 中执行此命令“java -jar installapp.jar”。“以管理员身份运行”不会打开命令行窗口,但当前用户是管理员组的成员。
但是,在同一个 CML 窗口中,如果我直接安装 EXE,它可以工作。它只是在由 Java 执行安装时失败。
所以有人可以给我小费吗?
非常感谢,迈克尔
To correctly install an application which includes writing to system-protected areas can't be done without elevating through UAC. That means the CML window must be Run as administrator.
Java executables are marked with manifest which requests asInvoker
privileges. So the process would start with administrator tokens dropped if the parent process wasn't elevated. It's the whole point of UAC: even if you are member of Administrators group, you don't get the full, unlimited privileges until you elevate.
What do you mean by "install the exe directly"?