CLASSPATH problem in Netscape Navigator solved

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.*. 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. Do not attempt applying the solution described here. 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. In some cases, the users were not even aware of that because the update was made by a software update program such as Oil Change. The symptoms were: No other applications seem to be impaired.

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 may be affected. All other versions of the DLL are fine, including the one that Explorer 4.0 puts in.

What to do if I am affected?

You have two options. You could either revert to the original version (4.00.950), or download corrected update. Installation of IE 4.0 will replace the dll with even newer version.

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 differrent 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 Windows95, get it from here (rpcrt4.new 202752 bytes). If you trust Microsoft more than this site, or need version other than US English, follow these steps:
Point your browser to Microsoft's support page for Frontpage. Scroll down to "Download the QFE Fix"... and save the file (pwsfix1.exe) in a temporary directory
Now the tricky part. The fix was designed to update files only if you have Frontpage installed. Here is a workaround.
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 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\
EXIT
You 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 which does not require the cab viewer is due to Andrew Brown

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 October 16 1997 (more than a year passed!!!) Microsoft's site still contains the bad update (although they wrapped it into new AuthentiCode)

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:

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.com

login with username ftp and password someone@somewhere.com
cd /pub/navigator

and cd to the version you have. Type
ls -l

The 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 my wife Shilpa Jain for help in searching for the solution.
mail penanen@xray.harvard.edu, or see Home page