Microsoft Winsock 2, Microsoft Front Page, and JRE 1.1.5

Last updated: 27 Apr 1998

Contents


The Problem

I recently released a product on CD-ROM that uses Sun's JRE 1.1.5. We switched from 1.1.4 very close to the end of development because it fixed a dialog-box related crash.

OK, so tens of thousands of CDs were pressed, and they're in customers' hands. Now I find out to my chagrin that 1.1.5 gives the user the option to replace the users' Winsock with the new Microsoft Winsock 2.0. They did this to fix bug # 4069782, a noble idea.

The hitch is- Microsoft Front Page (both '97 and '98!) and Outlook '98 no longer work when you do that! This ticked off a journalist who reports on products like mine and uses Front Page to author his articles. In other words, the people who get hurt by this bug include those who can do the most damage to my reputation :-( His comments (slightly edited) read:

Installing the new Winsock files keeps FrontPage 97 from loading at all. Running the Winsock 2 uninstaller corrects the problems with FrontPage 97 so that it will load. However, at that point it will not import files or save data.

I continue to get Server HTTP Error 500 messages when trying to import and save data to the website files. ... As you can imagine, I won't be reinstalling your product on my own system anytime soon if ever. I've run into several other software install problems recently that have caused similar havoc and have come to the conclusion that I'm going to have to invest in a second system just for business applications... I just can't afford to be put out of business for days on end with things like this. Please make sure, and I can't stress this enough, that ALL software changes [i.e. switching from JRE 1.1.4 to JRE 1.1.5] are tested properly before releasing a product. While the average user won't be adversely affected by this issue, many in the industry will (you'd be surprised how many websites are managed with FrontPage).

Other people have run into this problem. Querying DejaNews for Winsock and 1.1.5 turns up several hits.

The Solution

There is an uninstall- of sorts- for Winsock2, but it's a batch file buried in c:\windows\ws2bakup, and it won't run properly while winsock is active, so I tell users to run it once in MS-DOS mode, run it again in Win95 mode, then reboot. Yuk. (The release notes for Winsock 2 talk about the limitations of the uninstaller.)

This wasn't good enough for end-users to use, so the company I work for wrote a user-friendly uninstaller. Feel free to download this and provide it to any of your customers that have accidentally installed Winsock 2 and need to uninstall it. It is provided as-is and without any warranty. Use it at your own risk.

My irate user did finally get back up, after three days. He wrote:

Installating the new Winsock seems to have modified settings within or related to Microsoft's Personal Web Server. In order to get FrontPage working properly again, Personal Web Server must be de-installed and then reinstalled from the FrontPage 97 CD prior to reinstalling FrontPage 97 over itself to update the server extensions.

i.e. after running the uninstaller you sent, it is necessary to open the Windows 95 Control Panel | Network options and to delete Personal Web Server from the list. Then, reinstall FrontPage 97 over itself so that it reinstalls Personal Web Server and its associated drivers. This finally gets FrontPage working right again.

And, by the way, I probably will reinstall your product now that I know what actually went wrong and how to quickly fix it (though, I still won't install the new Winsock files when asked to do so).

(I suspect he had to do this because he tried all sorts of things before I sent him our uninstaller, and screwed something up in the process, but I don't know.)

Discussion

Who decided that Winsock 2 was ready for prime time (i.e. in the JRE install)? Microsoft says in the release notes for Winsock 2:
This Windows Sockets 2 SDK is provided for developers only. Unless you are actively developing Windows Sockets 2 applications or service providers, there is no reason to install this SDK.
So they didn't really intend it for end-users. But end-users install the JRE! End-users won't know how to deal with the problems that Winsock 2 causes!

Sun should work with developers to make sure that future JRE's support shrinkwrapped Java apps well. For instance, I think the JRE installer should accept commandline or environment variable hints such as "install here", "silent install", and "for god's sake, don't replace the winsock".

I have started a discussion area at the Java Lobby devoted to this and similar issues faced by shrinkwrapped Java app developers, and invite interested Java programmers to discuss this issue there.

I've submitted this both as a comment for bug # 4069782 and as a new bug at developer.javasoft.com.


Sun's efforts to resolve the problem

Looks like my yelling at Sun about this issue produced some partial results, at least for JDK 1.1.6. Check out http://developer.javasoft.com/developer/bugParade/bugs/4105068.html and http://developer.javasoft.com/developer/bugParade/bugs/4105761.html.

If you do ship JRE with your products, you should consider shipping a Winsock 2 uninstaller along with it, just in case! See above.

JRE 1.1.6 is now out, and it seems that Sun was of two minds about this problem. As of 27 April 1998, the README on Sun's web page reads:

Winsock Issues

JDK software no longer includes Microsoft Winsock 2.0. It is extremely likely that your system already has Winsock 2.0. Windows NT 4.0 and Windows 98 come with Winsock 2.0. Windows 95 comes with Winsock 1.2, but most Windows 95 systems have been upgraded to Winsock 2.0 by now.

When you install JDK software on a Windows 95 system, the installer displays a message if the system hasn't been upgraded to Winsock 2.0. This information isn't important unless you intend to use the JDK software to develop networking applications.

Microsoft provides a free software bundle, the Microsoft Windows Sockets 2.0 Software Development Kit, that includes Winsock 2.0. Even if you don't need to upgrade your own system, you may want to obtain this kit so you can deploy network applications on Windows 95 systems. For more information, see "Deploying Java Applications," below.

but the real README that you get when you install JDK 1.1.6 says

POSSIBLE PROBLEMS WITH WINSOCK
When installing the JDK software on a Windows 95 system, the installer will check to see if Winsock 2 is installed on the system. Winsock 2 is the most recent version of the networking layer (Winsock) for Windows and is published by Microsoft. If Winsock 2 isn't installed, the installer will offer to install it.

Winsock 2 is advertised as being fully backward compatible with Winsock 1.1, its predecessor. Occasionally, however, some Windows configurations seem be adversely affected after installing Winsock 2. Problems that have been reported include networking programs (such as news and mail readers, browsers, etc) that stop working or even start crashing.

If this happens on your system, you should remove Winsock 2 from your system. This is a simple, three-step procedure:

  1. go to C:\Windows\WS2BAKUP directory
  2. run the WS2BAKUP.BAT script
  3. reboot your machine
Even without Winsock 2, the JDK software will continue to work properly. In heavy multi-tasked network applications, such as servers, Winsock 1.1 bugs may manifest themselves. Most other applications will be unaffected. We recommend that you upgrade to Winsock 2 as soon as possible.
Looks like they have a version control problem. The funny thing is, that "simple, three-step procedure" will fail if Winsock is active when you run it. Bzzzt! They should have included my uninstaller...

I haven't checked to see if their installer works properly on Win98 yet.

It does seem that their README gives better instructions on how to embed the JRE inside a product- and that's a welcome improvement! In particular, they recommend bypassing the installer, and including a private copy of the JRE in your own installer; they give the exact list of files to include.

For the record, here's how I tried to get Sun's attention:

  1. I wrote a damn good bug report, including the impact of the bugs on me and my customers, and put it on the Web.
  2. We buy stuff from Sun, and I called our salesman. After about two weeks, he put me in touch with a good technical guy, who got the attention of the right people inside Sun.
  3. When Microsoft called me (!) with the rather riveting news that the JRE 1.1.5 installer I ship with one of my products was incompatible with Win98, I emailed the news to the JRE comments alias.
It doesn't look like I got through well enough. Not sure what more I could have done. - Dan

Front Page '97/'98 Problem Reports

From: Bob Coleman
The trojan horse known as Windows Sockets 2.0 definitely causes networking problems for FrontPage97 and for FTP using anonymous login. And it can wreak havoc on your system in many subtle and perverse ways.

The good news is: There IS intelligent life at Microsoft technical support. The bad new is: It is a matter of chance whether you are put in touch with the one technical engineer who honestly knows how to solve the problem.

Today I spent over 8 hours almost non-stop long-distance from Dallas to Seattle to the technical assistance line to Microsoft, during which about 6 different engineers transferred me to Windows 95 technical support staff with no results other than the creation of many more system problems.

Finally, I called FrontPage97 and got BILL WALRATH, a support staff engineer who did not transfer me to Win95 or elsewhere and who had just recently solved the problem. He walked me through the solution in less than one hour. We uninstalled the winsock2 files almost effortlessly. Then we created new webs using the Import Web Wizard. It works! It works again! Thank God almighty, it actually works again!

Bill said he plans to publish his non-gimmicky solution on the Internet in the next few days after he checks everything out to be sure about it. He is thorough and knowledgeable.

The bottom line: Insist on speaking to BILL WALRATH at MS FrontPage help at (425) 635-7088. Otherwise, ask any other technical engineer to read TASK Number 28597446 before doing anything.

This trojan horse a/k/a winsock2 comes from at least two sources: MSIE4.01 (not MSIE 4.0 according to Bill Walrath) and Sun JavaSoft JRE1.1.5, the Java Runtime Environment extracted from the JDK.

HTH,
Bob Coleman


From: "Marcus Zarra"
Subject: RE: JDK 1.1.5 Winsock2
Someone posted on here last week a problem with the Winsock that JDK 1.1.5 installs in Win95 machines. Unfortunately, I had already installed JDK 1.1.5 on my system prior to that notice.

I just installed FrontPage 98 on my system and surprise, it won't work. Whoever posted that notice/bug last week, could you please tell me the shortest route to removing this Winsock 2 from my system? I have tried the usual reinstall, etc. but that just made matters worse.

[Dank replied:
> See http://www.alumni.caltech.edu/~dank/ws2bug.htm
> It links to an uninstaller and lots of info.
> 
> Let me know what happens.  This is the first report of a problem
> with Winsock 2 and FrontPage *98*.
> - Dan]
[Marcus replied:] This fixed the problem. Once I removed the winsock2 my FrontPage98 software came right back on line.

One minor note is that I did have to uninstall and reinstall FrontPage 98 to get the personal server to work again. However this was definitely caused by me screwing things up before I ran the correct fix. So if it is uninstalled without tinkering with it then you should not need to reinstall anything.


Outlook '98 Problem Reports


Subject:      Winsock 2 and ol98
From:         "KG" stag49 @ geocities.com
Date:         1998/01/21
Newsgroups:   microsoft.public.outlook_beta

I just installed Java developer kit 1.1.5 and going against by best 
instinct I said yes when it asked if I wanted to install Winsock 2. Now 
OL98 seems to crash often, and I sometimes I can't tell it to check my 
mail. Did anyone else have this problem, or does anyone know how to 
uninstall Winsock 2?

[... time passes ...]

Actually I found the answer to my own problem in another newsgroup... 
Yay dejanews.   There is a batch file in windows/wsbackup (or something 
like that) that you can run called wsbakup.bat. Trick is that you have 
to run it from MS Dos (not dos box... boot to command line) first, and 
then from win 95... 


Subject: Re: WSOCK2 &OL98 - Is there a problem (repost!)
From: Mark Schmidt
Date: Fri, 27 Feb 1998 23:05:27 -0500
Newsgroups: microsoft.public.outlook_beta
Thanks all for confirming this. Other possible areas of WinSock 2.x problems are MS Proxy Server 1.0 and 2.0, IE4.x, in conjunction with RPC binding order - wish I had it better quatified for you. Mebbe when I've closed all 4 SRX #'s w/ MS !

Barbara Schneier wrote in message <6d1e5d$3l2@camel20.mindspring.com>...
Yes, there is a problem. I don't know what causes it, but OL98 will not work with it. You must restore the previous winsock. Believe me it makes all the difference.

Tentimes wrote in message <888346034.19875.2.nnrp-01.c1ed1a2b@news.demon.co.uk>...
>Can anybody post and let me know if there is a problem with wsock2 & OL98
>and if so, what the problem is roughly? It could stop me chasing my tail for
>another 3 months....


Dan Kegel