Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I use several school computers, that have different operating systems. To make sure that I always have my tools available, I like to install a lot of programs to my "roving profile". This is possible with the Java SDK on every OS that isn't Microsoft Windows 2000 or XP or later.

The reason is that, despite owning the folder I'd like to install to and having full permissions on the executable, Java just flat out won't install unless I'm an administrative user. I'd like to know why. It's really inconvenient having to putty into myself just to be able to use the java compiler when I'm doing my homework.

I was also wondering if the convenient workaround I've thought of that I have not tried, simply grabbing a windows computer on my own, installing J2SDK onto that computer, and copying the folder over, would work. I suspect it might, given that Java consists mostly of pre-compiled binaries that have to work the same way on every windows system, but I figured I'd see what other people thought.

Mostly, though, this just seems like such an odd restriction. In any other operating system, any similar "you must be root" nonsense can be quickly and easily bypassed. It's always puzzled me as to why the computer you're sitting on wants to force you to be someone who can easily damage your system, the one user you can't sandbox and do any pre-emptive damage control with, before it starts tossing grenades your way. I never build or install anything as a privileged user unless I absolutely have to; it's really bizarre that Sun actually /enforces/ a bad security practice this way.

share|improve this question
add comment

migrated from stackoverflow.com Apr 14 '11 at 20:55

This question came from our site for professional and enthusiast programmers.

2 Answers

Because it writes to locations which present Java to the entire operating system, including other users. Such an action might disrupt a previous installation, or affect software that requires the "other" version of Java.

Only a system administrator would be in a position to survey the installed software of a platform and ensure that the platform still is properly operational after the installation. If you could do such a task, then effectively, you should be granted system administration rights (although some companies also have other limitations, such as related to organization structure).

share|improve this answer
add comment

There is a (unofficial) portable versions of the JRE:

Java Portable Launcher which depends on Portable Java

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.