A windows-vista program can advertise that it needs elevated privilege, either by having a manifest files that says so, or being a Windows Installer, or by other means.
If such an executable (such as the java installer) is launched from a command shell, vista will prompt the user to allow running. (all this assumes a normal user with admin privileges)
If the same program is executed using Runtime.getRuntime().exec(), the call will fail with an IOException the 740 error which means:
ERROR_ELEVATION_REQUIRED: The requested operation requires elevation.
java.io.IOException: CreateProcess: C:\jre59234.dat /s /v"/qn WEBSTARTICON=1 INS
TALLDIR=\"C:\Program Files\Java\j2re1.4.2_07\\"" error=740
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at test.execute(test.java:12)
at test.main(test.java:6)
use the following simple java program:
public class Run {
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("Usage: Run <filename> <arg1> ...");
} else try {
Runtime.getRuntime().exec(args);
} catch (Throwable t) {
t.printStackTrace();
}
}
}
Then type
"java Run jre-6-beta-bin-b59g-windows-i586-06_feb_2006.exe"
(or using any installer executable you have)
If such an executable (such as the java installer) is launched from a command shell, vista will prompt the user to allow running. (all this assumes a normal user with admin privileges)
If the same program is executed using Runtime.getRuntime().exec(), the call will fail with an IOException the 740 error which means:
ERROR_ELEVATION_REQUIRED: The requested operation requires elevation.
java.io.IOException: CreateProcess: C:\jre59234.dat /s /v"/qn WEBSTARTICON=1 INS
TALLDIR=\"C:\Program Files\Java\j2re1.4.2_07\\"" error=740
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at test.execute(test.java:12)
at test.main(test.java:6)
use the following simple java program:
public class Run {
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("Usage: Run <filename> <arg1> ...");
} else try {
Runtime.getRuntime().exec(args);
} catch (Throwable t) {
t.printStackTrace();
}
}
}
Then type
"java Run jre-6-beta-bin-b59g-windows-i586-06_feb_2006.exe"
(or using any installer executable you have)
- duplicates
-
JDK-6406802 Vista: "Update Now" button on Java Control Panel fails to run jucheck.exe
-
- Closed
-
-
JDK-6408620 Vista: Java Web Start JRE auto-download not working
-
- Closed
-
- relates to
-
JDK-6192449 (process) Runtime.exec error message on Windows should be improved
-
- Resolved
-
-
JDK-6531735 Sun jdk should provide an arg or other means for running java apps with elevated privileges on Vista
-
- Closed
-