![]()
Netscape's CLASSPATH Problem Solved
Applies to: Navigator 3.0x
Operating Systems: Windows 95Problem/Solution:
On October 3 1996 I posted the solution to one of Netscape's CLASSPATH problems in numerous newsgroups. The problem affected many people who were trying to browse Java- and Javascript-enabled pages using java-supporting versions of Netscape Navigator for Windows 95, namely versions 3.0 and 3.01 (beta versions of the Communicator are affected as well). Note, the final release of the Communicator is NOT affected. If you get a similar message in the Communicator, please make look below in the What if it didn't work session. I have received numerous letters confirming that the solution to the problem outlined in the newsgroup postings was indeed necessary and sufficient. Thanks to all who replied. Here is what happened and how to fix it.
What went wrong?
All of the affected users downloaded an update for Remote Procedure Call from Microsoft's updates and patches page. The symptoms were:
No other applications seem to be impaired.
- Instead of showing a java applet, Netscape would give a dialog box saying something to the effect that file java_30 (or java_301) was not found in the classpath. Then it would show the current value of the CLASSPATH environment variable which by simple inspection would contain the file in question.
- Javascript would just fail to work
Are you affected?
To check if you are a victim of this bug, find a file called RPCRT4.DLL in your windows/system directory. Right-click on it and select "Properties". Press "Version" tab. If the version is 4.00.953, you are affected.
What to do if I am affected? New!
You have two options. You could either revert to the original version (4.00.950), or download corrected update.
Downloading Corrected Update
Microsoft created a new version of the culprit dll. Strangely enough, they did not post it in general area (where you downloaded the update from), but as a fix to their Front Page personal web server software. To make things worse, they did not alter the version information on that update, so there are (at least) two different files with the same length and version information. Go to Who to Blame? section for more details. I put the corrected update on our web server. If you trust this site, and you are using US English version of Windows 95, get it from HERE (rpcrt4.new 202752 bytes)SHIFT + CLICK on the link and save it to disk.
Now the tricky part. The fix was designed to update files only if you have Frontpage installed. Here is a workaround.
- Download it into a temporary directory as rpcrt4.dll
- Verify the length of the file you downloaded (in windows explorer, locate the file rpcrt4.dll in your temporary directory, right-click on it and select "properties"). If the length is not 202752 bytes, repeat the download.
- exit to dos(Start->Shutdown->Restart in MSDOS mode)
- copy the original rpcrt4.dll from your system directory to rpcrt4.bak
(cd c:\windows\system
copy rpcrt4.dll rpcrt4.bak)- copy rpcrt4.dll from the temporary directory to c:\windows\system
(copy c:\temp\rpcrt4.dll c:\windows\system\rpcrt4.dll)- Restart the computer by typing EXIT and run Netscape.
Run the executable file by double-clicking on it. The program will ask you whether you want to install the fix. Say yes.
A dialog box will pop up saying that you do not need the fix. Do not press "OK" button. Instead, go to Start->Find Files and look for file named us.exe . It will be found in a subdirectory of your C:\windows\temp directory. If you open that directory in windows explorer you will find several executables that correspond to different languages. For US english, double-click the us.exe file. This will update your RPCRT4.DLL file. You will need to restart your computer for changes to take effect.Going Back to the Original Version
You will need to replace the current file with the original version (4.00.950). Make sure that your boss will not mind it. The reason for the update in the first place was a bug that caused an error when using ODBC. Most users should not be affected by it, but if you need more information, read Microsoft Knowledge Base article describing the problem.
If you have the .cab cabinet archive viewer, you can extract the file from the archive WIN95_11.cab or WIN95_12.cab in WIN95 directory of your Windows95 CD-ROM.
Restart your computer in DOS mode. Type the following:
cd C:\WINDOWS\SYSTEM REN RPCRT4.DLL RPCRT4.BAD MOVE C:\TMP\RPCRT4.DLL C:\WINDOWS\SYSTEM\ EXITYou might not have to exit to DOS mode if you did not run Netscape after your latest reboot.Alternatively, you can right-click on the file rpcrt_un.inf in your windows directory, press "install", and let the computer find the original file on your CD-ROM. Agree to replace the file with the older version and restart the computer. This somewhat more user-friendly solution does not require the cab viewer.
I have put the same file on our ftp server. Right-click on this link and save it as C:\TMP\RPCRT4.DLL and repeat the steps above. Check the size of the file after downloading. It should be 202240 bytes (as seen in right-click/properties).
Who Is To Blame?
I sent my solution of the CLASSPATH problem to both Netscape's and Microsoft's support e-mail addresses 2 days before posting it in the newsgroups (I apologize to everybody else for this delay).
I received an acknowledgment from a Netscape Support Engineer on Oct. 4 and another letter on Oct.5 saying that random check of Win95 machines at Netscape showed that they did not have the update installed. No wonder they could not reproduce the bug. On Oct.6 I received a confirmation from Netscape that the dll causes this problem and restoring the original solves it. They did not place blame on Microsoft as of yet. Eventually (many weeks later) they put my original news posting on their web site in technical notes, without ever mentioning the source or my name.
As of June 6 1997 Microsoft's site still contains the bad update.
I tried hard to be impartial hoping that the problems were just a result of some glitch. Now I have some doubts that it was an unintentional glitch. Here are some questions that I would like to hear Microsoft's answers to:
- Why was the faulty update posted shortly after Netscape released its first Java-enabled version?
- Why in case of Microsoft's own problem with the file the update was not faulty?
- Why the two updates have the same version stamp and length? See for yourself: get the bad (public) update here and good, Microsoft Frontpage users only update here. To compare the files after you get them, look at their properties -- same length, same version numbers. Run command
fc /b RPCRT4.BAD RPCRT4.NEWto see the difference.Why didn't I hear any response from Microsoft? Here are lines from our server's log files that indicate that they have seen this page many times. I repeat my plea to Microsoft: please acknowledge the bug!What If It Didn't Work?
Make sure you are using the 32bit version of Navigator for Win95. We spent quite some time trying to figure out the problem. Numerous suggestions were tried and rejected (i.e. manipulating AUTOEXEC.BAT, unzipping java_30 etc.) despite the fact that they were posted on the web and news groups as solutions. I am willing to look into your configuration and try to locate the problem if the above solution did not work. Please write to me and we'll try to figure it out. Please check one more thing before you write to me. Please make sure that your java_30 file is exactly 712626 bytes long (this is valid for Win 95 java_30 only, 714125 bytes for java_301 in Navigator 3.01beta and 714181 bytes in Navigator 3.01 final release). Apparently, some versions of Netscape do not warn you if the file you were downloading did not make it. It does not erase the file either, so there is no easy way to know whether you got it all. To make sure, in a DOS window type
ftp ftp.netscape.comlogin with username ftp and password someone@somewhere.comcd /pub/navigatorand cd to the version you have. Typels -lThe size you see should be the same as what you downloaded. If it is not, please download the file again and re-install Netscape.Thanks to Konstantin Penanen and his wife Shilpa Jain for help in searching for the solution and allowing us to repost this page on the UFAQ. This page is reprinted with his written permission. Check out Konstantin's site every now and then for any changes and updates http://HUTROUGH.HARVARD.EDU/penanen/classpath.html
For Information On More Communicator Custom Preferences, See: Advanced Communicator Preferences