From: SourceForge.net <no...@so...> - 2008-01-11 07:57:53
|
Bugs item #1868473, was opened at 2008-01-10 15:15 Message generated for change (Comment added) made by blackweli You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1868473&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: installer Group: normal bug Status: Open Resolution: None Priority: 5 Private: No Submitted By: ecor6633 (ecor6633) Assigned to: Nobody/Anonymous (nobody) Summary: Windows installer doesn't look environment variables Initial Comment: Windows installer doesn't look the environement variables to define where java is installed. Since Java 1.5 the Windows registry isn't changed by the java installer so the easiest thing would ne to check the presence of JAVA_HOME or JRE_HOME environement variables to locate Java's installation dir. ---------------------------------------------------------------------- Comment By: Blackwell (blackweli) Date: 2008-01-11 08:57 Message: Logged In: YES user_id=971109 Originator: NO What is the problem? Sun JDK installation and Sun JEE installation do not place "java.exe" or "javaw.exe" anywhere in the PATH, nor do they adjust the PATH variable (I asked Sun to do that, they refused, see Sun's bug tracker). When looking at JAVA_HOME and JRE_HOME the user has to first set those variables. If he knows to set these variables, why doesn't he know to put the directory with "java.exe" in it on the PATH? That's a contradictious assumption, isn't it? I strongly suggest not to enforce pseudo-standards like JAVA_HOME and JRE_HOME and instead to tell the user something about environment variables and PATH on Windows and Unixoid systems. Also I am not sure wether the Sun JREs in Sun JEE or Sun JDK should be used without asking the user. And by what argument stop there? Why not try to use the OpenOffice JRE? Or the JRE included in any other random application that happens to ship a JRE along? Those are "private" JREs and should not be used, unless the user really knows what he is doing. That aside, who installs Sun JEE without knowing Java enough to know that he has to have "java.exe" on the PATH somewhere (or refer to it via relative or absolute path)? Why support such users? They have to fix their Java installation/configuration anyway. ---------------------------------------------------------------------- Comment By: ecor6633 (ecor6633) Date: 2008-01-11 08:05 Message: Logged In: YES user_id=1958367 Originator: YES The patch is already down there as file attached to this bug. Unfortunately it doesn't look in PATH environement variable only JAVA_HOME and JRE_HOME. Just have a look at it and tell me if it can be a solution. Untill now i checkouted the project and buid-support too but the build failed. ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-01-10 18:29 Message: Logged In: YES user_id=1483238 Originator: NO Thank you for your detailed description. I think I understood the problem. Java SE installer sets registry and puts javaw.exe in system directory. But Java EE installer doesn't. I think looking JAVA_HOME, JRE_HOME or PATH are all good to have and don't break anything. But it is a bit less prioritized for me because the problem seems to have some workarounds. I'll try to implement them after some other works. If you strongly wish this to be fixed sooner, writing a patch by yourself will be a good way. I think you have enough knowledge about the solution. Probably I can take a look sooner if you submit a patch. The related codes are in the following file. The codes are written in Pascal, and function defined in Inno Setup can be used. https://jedit.svn.sourceforge.net/svnroot/jedit/jEdit/trunk/ package-files/windows/win32installer.iss ---------------------------------------------------------------------- Comment By: ecor6633 (ecor6633) Date: 2008-01-10 17:09 Message: Logged In: YES user_id=1958367 Originator: YES After a disscusion with a colleage, he sugest to look in the path environement variable after javaw.ex (just like the system do, so split on ; and loop i suppose) and than why not look after JAVA_HOME or JRE_HOME , registry, ... What would you think about it ? ---------------------------------------------------------------------- Comment By: ecor6633 (ecor6633) Date: 2008-01-10 16:51 Message: Logged In: YES user_id=1958367 Originator: YES I'm running Vista 32bits or XP 32bits. Just after a fresh install of the os I installed Java5EE which contains Java 6. I haven't any javaw.exe in system directory nor JavaSoft key in windows registry. So the only thing the installer do is display a message that say that i should install java. Of course i solved the problem adding correct keys in windows registry but i thought it would be better to correct the installer. I already had that problem a number of time and seen the solution in the jedit's forum : http://community.jedit.org/?q=node/view/1889 It happened to me a lot of time and i was bored to set the keys manually so i wrote a C# project to do it for me (base on environement variables) and wanted to make it accessible as a sourceforge project. But why would everybody use an external tool if it's possible to change the installer itself. Why %SYSTEM_DIR%\javaw.exe should be present ? That's not normal location for that file (on windows XP it was a Microsoft Java version i think). And as the java installer doesn't set registry keys i don't see anything else then environement variables. ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-01-10 16:30 Message: Logged In: YES user_id=1483238 Originator: NO First, are you running 64-bit Windows? In a case the installer couldn't find javaw.exe in system directory, it tries to get JavaHome from registry. This had been working for long time before jEdit 4.3pre12, at least for me with JDK 1.5 with Windows XP (32-bit). Are you sure that you don't have JavaHome in your registry? If so, what happens if you actually try to launch jEdit? ---------------------------------------------------------------------- Comment By: ecor6633 (ecor6633) Date: 2008-01-10 16:14 Message: Logged In: YES user_id=1958367 Originator: YES I installed java 6 on windows XP and windows Vista and there is no javaw.exe in system directory. The patch only offers a last opportunity in case of all other tries failed. Why not give a last chance to those like me ? ---------------------------------------------------------------------- Comment By: Kazutoshi Satoda (k_satoda) Date: 2008-01-10 15:59 Message: Logged In: YES user_id=1483238 Originator: NO The installer prefers javaw.exe in the system directory to one in the directory where java is installed since jEdit 4.3pre12 so that user don't have to reinstall jEdit after they upgraded the java installation. Is there anything wrong to you? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1868473&group_id=588 |