When viewing an Applet, why does Safari for Windows display "Java is Unavailable or Not Installed" when Java is installed and available? [closed] - windows

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
When using Safari on Windows 7 to load any page containing any Java applet, the following alert appears:
"Java is Unavailable or Not Installed. Do you want to go to a page where you can download java?"
This message is incorrect. These are developer machines with one or more instances of the Java JRE / JDK installed, including 1.7.x. Many alerts are accompanied by messages referencing a non-existent file path, similar to:
"The Java Runtime Environment cannot be loaded from
<C:\PROGRA~2\Oracle\JAVAFX~1.1RU\bin\server\jvm.dll>”
The following attempts to repair the situation have all failed:
Uninstalling and re-installing various Java versions.
Updating to the latest Java version.
Changing security settings in Safari.
Going to http://www.java.com/en/download/help/testvm.xml detects an obtuse version that is not even installed (Java 2 Runtime Environment, SE v1.4.2_19 ?!?!)
Searching the internet reveals many users with similar problems, but no answers.
How can this be resolved?

While many complaints about this problem exist online, a Google search against "Safari Windows jvm.dll JAVAFX" finds this obscure thread on the Apple Forums.
Summarized, the problem is when Safari checks the Windows Registry for a particular value, it uses the first value it finds instead of the correct value.
Steps to repair the issue:
Close all Safari windows.
Run regedit.exe
Backup your Windows registry (right-click the root Computer and select export).
Go to
32-bit Windows: HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\
64-bit Windows: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in\
Examine each entry; there will probably be more than one.
Some entries reference proper JREs, while some may reference JavaFX or something else.
The JavaFX one may have been installed by Java 7.
It is likely Safari is selecting the bottom-most sorted entry; check whether the file path reference for that entry is invalid or nonexistent.
select the bad entry under ..\Java Plug-in\, cross your fingers, and delete it.
close regedit
re-open Safari and browse to a page with an applet. Give it a minute.
At this point, you should be successful. If it continues to fail, check other registry entries under the ..\Java Plug-in\ or parent subfolder ..\JavaSoft\ for invalid file paths. If you recently upgraded, a prior installation may have been invalidated, but the registry entries might not have been removed, and might have to be excised manually.
NOTE: Regarding step 4, your data may be under a different location; check the comments below for the experiences of other users who have resolved this issue in a similar fashion. Please post any alternate Windows Registry paths below as a comment.
Appreciation goes to user Olivier2011 (Olivier Lefevre) of the Apple Support Community (see first link in this answer) for following up his own question with his solution. Oliver's historical record of the incident from MarkMail.

Tried above but didn't work.
deleted java related stuff in C:\Program Files (x86)\Safari\Plugins - .jar and dll
Working now.

Actually the combination of the top answer, the explanation at: https://discussions.apple.com/thread/3192281?start=0&tstart=0 and marcus pope's windows 7 location worked for me.
That is:
I have windows 7.
When trying to run a java applet (geogebra) I got the error message that Safari
could not load C:\PROGRA~1\Oracle\JAVAFX~1.0\bin\server\jvm.dll
since the path does not exist on my machine.
This is short for: C:\Programme\Oracle\JavaFX Runtime 1.0\etc ...
Steps:
I shut down Safari.
I opened my registry and went to: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in.
There I found 2 folders (others have found more). The highest one was 10.5.1 and there I found a reference to the path C:\Programme\Oracle\JavaFX Runtime 1.0\etc.
I backed up my registry and then deleted this folder.
I restarted Safari and all is well.

You guys may want to look at the code that launches the applet, as it can specify which java version to run the applet in. There is a code that can be specified that says use the latest available. You also have the option to uninstall your java and resinstall it with a earlier version. Some broswers however will force you to use the latest, as there are some security risks with older versions.
Some reference links that might be of help:
Multibrowser supported applets:
https://eyeasme.com/Shayne/XHTML/appletObject.html
Applet Params: http://download.java.net/jdk8/docs/technotes/guides/jweb/applet/applet_deployment.html

This is a problem with "java online install".
To solve:
Uninstall all JavaFX and JRE in your machine.
Download "java offline install" (~=20MB).
Copy "java offline install" to Desktop.
Close all Safari windows, including the download window.
Install java.

I had similar issues with Java after installing Java 7 update 15.
I tried all the above troubleshooting methods, but they all failed (I did not have plugins referred to by the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in.).
What did work using Safari 5.1.7 was downloading an earlier version of Java (Java 7 update 11) from Oracle directly (the same version I used during the Safari 5.1.7 shelf life, when Safari 6 was Mac only).
The steps are:
Uninstall Java from machine.
Download "java offline install" (Java 7 update 11) (~=30MB).
Copy "java offline install" to Desktop.
Close all Safari windows, including the download window.
Install Java.

I tried the above methods, and the post by 'Luds' worked.
I did have a plugin referred to by the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in (for Java 7 update 17)
but after I uninstalled JAVA 7 Update 17 from the windows control panel, it removed this entry.
I tried Java 7 Update 17, 15, 13 with no luck.
What worked for Safari 5.1.7 was downloading an earlier version of Java (Java 7 update 11) from Oracle directly like the poster 'Luds' mentioned.
The steps are:
Uninstall current Java from machine.
Download jre-7u11-windows-x64.exe (Java 7 update 11) (~=30MB) from:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jre-7u11-oth-JPR
Copy the flavor of installer you need to Desktop.
Close all open Safari windows,
including the download window.
Install Java SE Runtime Environment 7u11 (Java 7 update 11).

Related

Cygwin 32-bit Update on win 10 64-bit - Downloads Fail With Errors

Trying to update my 32-bit Cygwin install on a Windows 10 64-bit fresh install and every setup-x86 I have tried fails with errors.
I had it all working on my old system, which was a Windows 7 upgrade to Windows 10. My 3rd party SDK with Cygwin plus an upgrade was installed a good few years ago while on Windows 7 then did the Windows 10 upgrade thing. I could still compile my code for an embedded processor device with no errors after that.
But Microsoft corrupted my system with the last update (December 2022) so my system was unbootable and irreparable by any of their troubleshooting Advanced methods.
So I put a new hard drive in and installed windows 10 from scratch.
Two weeks later I have reinstalled much software but now I am at my SDK re-install and cannot get any Cygwin version to download.
I have a 3rd party SDK which instructs me to install their Cygwin first (version 1.5.18) then remove some environment variables, then go to http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html and Follow the “Dead Simple Instructions" and go for "any version 2017 +".
After downloading the files I must copy the directory to my original install directory, thus upgrading the install.
I just cannot download anything though.
I went to that time machine page and was totally confused. I noticed they said "this is the last 32 bit install" on several places, so I tried clicking on all those setup-x86 links.
I tried running the downloaded setup-x86 files from the download directory but each one failed.
On most of the more recent setup-x86 files,(like 2.924) it shows a small blue square telling me Windows protected me etc. I click Run anyway and then it says "Cygwin is not supported on 32-bit windows".
So I tried earlier versions like 2.909 and they show the interface; I choose download, then choose the download directory ( a folder on my desktop) then I have tried both direct connection and use system proxy; then I select a mirror (tried all of them, I think) and it begins some action then stops with errors like:
"https:\cygwin.mirror.constant.com\x86\setup.ini line 12: The current ini file requires at least version 2.924 of setup. Please download a newer version from https://cygwin.com/setup-x86.exe"
But I have already tried 2.924 and it gives the "Cygwin is not supported on 32-bit windows" error!
With setup-x86-2.874.exe, it shows the interface etc. but in the mirror list all I see is http://update.setup.invalid.
With 2.774 it does the interface then "Unable to get setup.ini from 'my selected mirror url'.
Then I tried that page https://cygwin.com/install.html#unsupported, where I tried the circa urls and did these from an Administrator command line, as they say. No good- errors.
Under "Dead Simple Instructions"(no they are not) I followed the link to the machine top level snapshot index, but each link their only gives a plain text list of files- nothing downloadable!
Anyway, copied a url link and then at step 4 it says click for setup-x86. So I did but that blue windows protection square appears. I say run anyway but then it says "Cygwin is not supported on 32-bit windows"!
I am at my wits end! It all worked fine on my old system until Microsoft ruined it with their updates.
How can I get a newer cygwin update for my v1.5, s the 3rd party instructions say???
Aha! I believe I have finally got this to work.
I just found a new release of the instructions for the 3rd party software SDK. They mention version 2.9.0 as the new version they are moving to.
I cannot access their download but I went back and read the Cygwin Time Machine page carefully again (http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html).
Under "Dead Simple Instructions", I looked through the list of dates and versions (http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/index.html) and found 2.9.0-1; surely close enough, eh?
So I copied the URL shown there.
Step 4 Run setup-x86.exe downloaded the setup file and Itried it from an Admin CMD prompt, adding the -X and -D switches. It failed with the 32 bit error, as before.
OK so I read again and near the bottom of the page I spotted "Cygwin Setup Archive".
Ah... I went to the link provided there (http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/setup/setup.html) and found setup-x86-2.901.exe.
After it downloaded, I again used the command prompt to run this and an interface appeared.
I was able to choose the existing install directory, the temporary download directory and add the URL I had copied earlier.
It proceeded to get the list of packages correctly.
I then selected to view files that were installed but may need updating and clicked Next.
It all went correctly. Thanks to Doug who offered help already.
So there is a way to do this.
If anyone was looking for the solution, I found the answer in the Cygwin mailing list. You must launch the setup-x86.exe (setup-x86-2.924.exe) with the --allow-unsupported-windows option --site circa_URL arguments, much like the -X switch was used on prior legacy installers to disable signature checking. circa_URL here is a mirror of legacy repos for Cygwin, where http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2022/11/23/063457 is the suggested url in the mailing listing post.
Apparently, if you are on a true x86, non-64-bit, Windows OS, this flag is not necessary, though I think the repo mirror may be required.

System Registry Error VB6 running as User Windows 10

I just recently upgraded to Windows 10 and ever since I have upgraded I can't get into VB6. I keep getting the System Registry error. I have googled and tried about everything and nothing seems to work. Running VB6 as Administrator is not an option, don't ask but we can't have admin to our computers we have to be logged in as users. The way we use to fix it was to trick Windows 7 log on as Admin run VB6 as Admin then switch me back to user and it worked, but this no longer works. Does anyone have any suggestions that currently have VB6 working as a user and not admin? I really don't want to resort to have to run it out of my virtual machine :( Thanks in advance!
Amanda,
I know it is 3 years later and I wonder what you did. and my solution may be late.
I moved VB6 Enterprise to a Windows10 machine, I did not upgrade the machine to Win10 with the IDE. However to make it work for some of my clients with Win10 machines I:
Back up all the VB6 files, folder and directories.
Using control panel in Win10, uninstall VB6 app. That's right, uninstall!
Using the original install disk, running it as an Administrator, install the program.
If the program has been updated to a later version, you need to get a copy of the latest version and copy over the one that was installed.
Or, Sweet Talk your IT guy into making you a new install disk with the latest version you are supposed to be running.
Go to the folder where the exe file is installed, Right Click on it and open the Properties, and go to the Compatibility tab.
Choose run as an administrator, and also click the Run this program in compatibility mode for Windows XP Service Pack3, or if it shows Latest version of Windows XP try that. You may need to check with your IT department.
Warning: if the VB6 program uses any non-Microsoft tools you may need to register them by hand.
I suspect this has already been worked out for you, but I put it here for anyone that may stumble across it, needing it.

Does Windows Update also update Internet Explorer?

This question may be relevant to any version of Windows where Windows Update is present, as I imagine the answers might be different between versions.
(Also, my apologies if this question should have been placed somewhere else, I looked for a Windows forum on SE and couldn't find one.)
I'm writing system requirements for a web application that requires at least IE8, and would like to communicate in the documentation how the user can make sure they have the latest browser version (on Windows) without having to download it manually, if possible. However being on OS X I'm having a hard time managing to find out if Windows Update will actually update IE (from say, 7 to 8) on Windows XP? What about later versions like Windows 7 or 8?
As a side note, Microsoft won't (by default anyway) even let my OS access any areas of their website where I might find a download link to Internet Explorer 8 or any other version since I'm not on Windows. Just sayin', if I wanted to supply a link to our users, that is. Yes, I will fire up my VM or PC to get the link but it seems... unnecessary?
Anyway, can I tell our users they just need to fire up Windows Update to make sure they're running IE8, or do I need to ask them to check version manually and download a new version manually (if necessary)?
While Windows Update generally does update critical IE components, major updates are generally considered optional updates that are not installed unless the user chooses to install them manually.
Consequently, you'll likely need to include a download link. Try http://microsoft.com/ie/download, which should redirect to the language appropriate page for the given user.
(Also, some users choose to not run Windows Update, so the download link may be needed anyway.)
Hope this helps...
-- Lance
To answer your query "Anyway, can I tell our users they just need to fire up Windows Update to make sure they're running IE8, or do I need to ask them to check version manually and download a new version manually (if necessary)?"
Yes, windows update also update Internet explorer.
To change setting for windows update where you can choose which updates is related to your OS and components and you can download and install to avoid unnecessary downloads.
Please find below steps to change the settings
Control Panel\All Control Panel Items\Windows Update\Change settings
Under Important updates option you will find
Check for updates but let me choose whether to download and install them.
I believe it will be an 'optional' windows update. In this case the user will still have to select and accept it, but windows update will do the rest. I would advise your users to check Windows Update for the latest browser version.
IE is part of Windows OS so I guess Windows update take care of IE like any other Windows components

JRE 6 and 7 side-by-side with JRE 6 as default (Win 7)

For a migration project to migrate from Java 6 to Java 7 runtime on Windows 7, we are looking to get the following situation:
Both JRE 6 and JRE 7 are installed on the machine
JRE 6 is set as the default
JRE 7 will be explicitly requested by applets and webstart applications that require it.
We found lots of solutions that use the path to achieve a situation like this, but we are looking for a way to keep the default path (using the java.exe in C:\Windows\System). Changing the registry key \HKLM\SOFTWARE\Wow6432\JavaSoft\Java Runtime Environment\CurrentVersion to 1.6 does not work unfortunately.
Does anybody have experience with a setup like this?
Edit:
I get a lot of questions WHY we want this. I can discuss all the ins and outs, but please take it from me that we discussed all possible scenario's and this is the one that impacts our business the least. There are more than 10K systems (laptop + desktop) involved and lots of different Applets, webstart applications and standalone client applications involved.
Unfortunately the answer for Applets and web start is that this is not possible (anymore). As can be found in the JRE installer options page of Oracle, the latest JRE is chosen by the browser plugin by default:
Beginning in Java SE 6 update 10 release, the latest JRE software will be registered with all browsers. This ensures that applets will run on the latest and most secure version of the JRE software.
Some solutions can be found that suggest changing several registry keys, but these only work for versions prior to 1.6.0 update 10. As soon you install this or a newer version, those registry keys are ignored.
We are still awaiting a formal response from Oracle, but we do not expect a different outcome.
I wrote a tool to be able to run WebStart on JRE6 and JRE7 side by side.
You can download the tool here.
I had a problem that was nearly the same as yours, I wanted to use jre 6 to run an old version of sgd (sun secure global desktop). My walkaround for this :
Get firefox portable
about:config --> plugin.scan.plid.all = false (don't know if it's necessary)
Add jre portable version 6 to the folder (plugins)
Go to the Java Control Panel (in Windows Control Panel) --> Java tab --> View.. (Visualiser in french) --> Uncheck 1.7
May be just the last step will work for you...
Hope this will help someone.
I think that the answer is that there probably isn't a way to do that which is going to work for all of your existing menagerie of in-house and 3rd-party applications ... and their various ways of locating their Java platform.
And if you get something that works "most of the time" then there is a good chance that the breakage in the other cases will be worse than if you had taken a more aggressive approach to conversion.
The root problem here is in-house and 3rd-party stuff making unwarranted (and probably unnecessary) assumptions about the Java platform they are running on. If the application can't be fixed to get it to work on Java 7, it probably should be ditched ... or quarantined in a heavily fire-walled virtual machine or something. Java 6 has been EOL'ed. So unless your organization is prepared to pay big bucks for support from Oracle you won't get any more security patches. IMO, that is good enough reason to boot it out of your supported / allowed COEs ... whether the users like it or not.
It is all very well to say that there is politics in the problem. But if push comes to shove, >>you<< guys will get the blame if your "gently, gently" approach fails technically and you get security problems due to running unpatched / unpatchable Java installations.

Explanation of Java 7 configuration on OSX

I've been developing with Java for a long time, but only recently switched from Windows to OSX. In windows I found everything simple enough to understand. I could install the JDK to a location of choice which also included a JRE. I would then configure PATH, JAVA_HOME etc and I'd be set to go.
OSX seems quite different in its approach. Originally Java 6 came pre installed with the OS. Now I know Apple is no longer supporting that and Oracle is distributing their own version (now Java 7).
Some time ago I installed the Oracle JDK. It seems to have installed at Library/Java/ and added the java control panel to the systems preferences, updated the version of java / javac used in terminal, etc. JDK 6 still seems to be located at System/Library/Java. I'm assuming this is the old Apple version and will be left alone incase I need to use Java 6?
I have a few questions...
Firstly, is my above assessment correct?
Where is config to dictate which tools are used in terminal? There appears to be no JAVA_HOME or entry in PATH when I echo them.
Why is there a link called Home in the Java 7 directory leading back to the old Java 6 tools?
The new Java control panel in system preferences runs updates from time to time. Is this updating the JRE located at Library/Java/JavaVirtualMachines/jdk1.7.0_07/contents/home/jre? Is it also updating the JDK? I ask because after running multiple updates im not sure the version "1.7.0_07" has incremented. The current version on the Oracle site seems to be update 17.
Is there anything I'm missing here? If anyone could explain this rather confusing state of affairs I'd be most grateful!
i'll try to respond by point because you're asking things that are a bit complex.
Some time ago I installed the Oracle JDK. It seems to have installed
at Library/Java/ and added the java control panel to the systems
preferences, updated the version of java / javac used in terminal,
etc. JDK 6 still seems to be located at System/Library/Java. I'm
assuming this is the old Apple version and will be left alone incase I
need to use Java 6?
...
Firstly, is my above assessment correct?
The old version of java 6 is located under the System/library java, this version in needed by some application to run, if you were wondering which app is it using you can think about the master collection of photoshop (it requires indeed a jvm version 6 to work).
The newer version, managed by oracle, are installed under Library/Java as you pointed out.
Why is there a link called Home in the Java 7 directory leading back to the old Java 6 tools?
no idea. if comes out some suggestion it will be nice.
Where is config to dictate which tools are used in terminal? There appears to be no JAVA_HOME or entry in PATH when I echo them.
This guy here has always a lot of solution, anyhow i suggest you to not use directly the bashrc configuration files. You can spot out other solution at the oracle web site and at the general FAQ for mac users here.
They are indeed doing a bit of confusion.
Hope that this helps, in case i misunderstood the question or the answer is not complete just ask further.

Resources