Hey guys, just thought I would memorialize this here in case others in the future have trouble locating clean copies of these old Microsoft Windows 3.x updates and TCP/IP packages. Although the Microsoft FTP (SoftLib section) is gone except for some remaining mirrors, in my archival work I have found that the TechNet Software Library Archive CD has that SOFTLIB folder containing all the final versions of those files. I believe that the NT 3.51 installation media may also contain a copy of just the stack and there are certainly some modified/updated versions out there, but that Technet CD is a great source of the clean originals!
Attached is the file list document from the root of that CD. Happy to provide a clean disc image to Vogons or anyone that needs it.
"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!
A little about software engineering: https://byteaether.github.io/
So what? Win3.0 sucks and I don't really understand the point you're trying to make.
I thought this all goes back to wanting to find the mystical "TCP/IP for Microsoft Windows for Workgroups". Which, if found, would do the exact same things...
If you feed wfw3.1 a NDIS2 based protocol stack with TCP you will get the features of wfw3.1 on a TCP network. Just like when you do the same with win3.11, you get the features (and limitations) of win3.11 on a TCP network
The point is:
DOS client + regular Windows =/= WfW
The key idea behind WfW is peer-to-peer - it's not just a client, it can also be a server.
And another point:
Microsoft Network Client version 3.0 for MS-DOS seems to be incompatible with WfW 3.1...
I've tried to install them both:
First, the Client, using TCP/IP - everything's fine.
Next, WfW, with default settings...
- if I let it modify CONFIG.SYS and AUTOEXEC.BAT, it breaks the DOS Client
- if not, WfW starts with some network error message, and without any network functionality
Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!
Hi, is that same relationship between Novell Netware and Personal Netware?
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
Grzybwrote on 2024-12-08, 04:08:The point is:
DOS client + regular Windows =/= WfW
The key idea behind WfW is peer-to-peer - it's not just a client, it can also […] Show full quote
So what? Win3.0 sucks and I don't really understand the point you're trying to make.
I thought this all goes back to wanting to find the mystical "TCP/IP for Microsoft Windows for Workgroups". Which, if found, would do the exact same things...
If you feed wfw3.1 a NDIS2 based protocol stack with TCP you will get the features of wfw3.1 on a TCP network. Just like when you do the same with win3.11, you get the features (and limitations) of win3.11 on a TCP network
The point is:
DOS client + regular Windows =/= WfW
The key idea behind WfW is peer-to-peer - it's not just a client, it can also be a server.
And another point:
Microsoft Network Client version 3.0 for MS-DOS seems to be incompatible with WfW 3.1...
I've tried to install them both:
First, the Client, using TCP/IP - everything's fine.
Next, WfW, with default settings...
- if I let it modify CONFIG.SYS and AUTOEXEC.BAT, it breaks the DOS Client
- if not, WfW starts with some network error message, and without any network functionality
Well I never expected it to work "out of the box" (and to be fair it may not work at all) - what I was suggesting was manually editing the autoexec/config/protocol.ini to provide a stack that WfW is happy with and includes the TCP TSRs and protocol driver.
You're actually in a position I've been meaning to try out myself for quite some time. If you could post your configuration files both before and after the WfW install I'd be happy to try to help you get it working
You're actually in a position I've been meaning to try out myself for quite some time. If you could post your configuration files both before and after the WfW install I'd be happy to try to help you get it working
And yes, I can see that "C:\NET\netbind.com" got removed...
after adding it back, it does load, but it doesn't really help - the following still fail to load:
C:\NET\tcptsr.exe
C:\NET\tinyrfc.exe
C:\NET\nmtsr.exe
Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!
Windows for Workgroups 3.10 was very rare, that being said.
We have a localized copy at home from back of the day, but I've never seen one for sale on eBay.
I suppose that might be because Windows for Workgroups 3.1 just added the networking features on top of Windows 3.1, so you only bought it if you wanted those features, but Windows for Workgroups 3.11 added non-networking features on top of Windows 3.11 including performance enhancements, so there were more reasons for home users to buy it.
Windows for Workgroups 3.10 was very rare, that being said.
We have a localized copy at home from back of the day, but I've never seen one for sale on eBay.
I suppose that might be because Windows for Workgroups 3.1 just added the networking features on top of Windows 3.1, so you only bought it if you wanted those features, but Windows for Workgroups 3.11 added non-networking features on top of Windows 3.11 including performance enhancements, so there were more reasons for home users to buy it.
That's a good point, yes.
Way back in the 90s and early 2000s when I bought vintage PCs or found some vintage PCs on road side,
I often found WfW 3.11 to be pre-installed.
This really confused me at the time, because I grew up with plain Windows 3.1 on a 286.
Whereas my father had used Windows 95 RTM on a 386.
At the time, Windows for Workgroups 3.10 was what we had known but not used anymore.
It felt like an odball system, just like Windows/386, Windows 3.0 MME or "OS/2 for Windows".
Later I've found out that there had been lots of MS-DOS 6.22+WFWG3.11 shrink-wrapped bundles being sold (they're still on eBay).:
Users who had bought their PCs in 1994 must have gotten this combo instead of separate copies of MS-DOS 5/6/6.20 and Windows 3.1x.
Probably because Novell DOS 7 had Personal NetWare included (with Windows 3.1 utilities).
So Microsoft probably saw no use in selling both vanilla Windows 3.1x and WfW 3.11 anymore.
That's just a thought, of course.
PS: On a second thought, it might also have been a turning point of some kind.
By the time Windows for Workgroups came out, there was a transitional point between 16-Bit and 32-Bit.
By shipping WfW 3.11, Microsoft had the chance to abandon 16-Bit support.
There nolonger was a need to support 286 users, for example.
With WfW 3.11, Windows 3.x now ran in 32-Bit Protected-Mode all the time and Microsoft could focus on things like WinG, Win32s and development of Windows 95.
Microsoft could now assume a 386 processor being minimum, at least.
So device drivers, applications and DLLs could simply require those instructions without issues.
That also was good for performance reasons.
Many Super VGA drivers did require 386 Enhanced Mode, already, because VXDs made life easier.
The 32-Bit File Access (32BDFA, HDD cache) did also reduce need for running SmartDrive, which was a DOS/Real-Mode thing.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
Configuration Guide For MS TCP/IP and WfW 3.1 Introduction
As most of you know, WfW version 3.1 was the last version of Windows to ship with a working "standard" mode (16-bit protected), so it is of special interest to 286 enthusiasts like myself. As such, all my testing was done on an emulated 286 system as well as real hardware. Some of the documentation I used as references included information about enhanced mode, and I will include it where applicable, but consider it untested. IMO if you want enhanced mode WfW3.11 with the 32-bit TCP addon is greatly preferable.
BLUF: The easiest way to get windows for workgroups 3.1 in standard mode running over TCP/IP is to simply get a working install of the MS DOS Client 3.0 first and then install WfW 3.1 on top WITHOUT letting it make any changes to the CONFIG.SYS or AUTOEXEC.BAT. You MUST use the FULL re-director supplied with the Net Client 3.0
If you want WfW3.1 to work in enhanced mode, you must load WORKGRP.SYS which is shipped with WfW3.1. You may also need to use the re-director included with WfW3.1 - more on that later.
Compared to a regular install of win3.1 + the Net Client 3.0 what does WfW 3.1 bring to the table? You get the nicer fileman UX which you will recognize from WfW3.11 as well as the NetDDE apps (winchat and clipbook). Please note that the option for enabling file sharing in WfW3.1 was ALWAYS greyed out for me during this testing process, even when doing a bone-stock install of WfW3.1 (no DOS net client other than the stuff included with WfW3.1) running NetBEUI. I assume this is attributable to me running it in Standard Mode and that Enhanced mode is required for file sharing.
Manual Configuration Guide and Details
In order to get a working DOS client (or win16 since it just uses that same framework) let's take a look at an example CONFIG.SYS and AUTOEXEC.BAT file first.
Certain "shortcuts" are taken both by the Net Client 3.0 as well as WfW3.1 in their default installs which need to be broken down into their constituents to make full manual configuration possible.
Let's look at each DEVICE statement and explain their purpose. The more "normal" stuff you would see in a CONFIG.SYS file is also included for reference, but EMM386 is NOT required.
IFSHLP.SYS: Installable file system helper. Required by the DOS re-director to map network drives.
PROTMAN.DOS: This is the protocol manager, the lynch pin of the whole operation. It must be loaded first and all the other components depend on it. It reads its configuration from PROTOCOL.INI, the location of which is specified by the /I(nformation) switch.
NEMM.DOS: Handles context switching of DOS expanded memory for TCP. NEMM.DOS is required by TCPDRV.DOS and must be loaded, with or without expanded memory.
TCPDRV.DOS: The actual DOS TCP driver. It doesn't do much by itself, but all the TCP TSR programs we will load later hook it, and depend on it. It depends on NEMM.DOS. It reads its configuration from TCPUTILS.INI, the location of which is specified by the /I(nformation) switch. If no information switch is provided in its device statement, it will use the location provided by the information switch on PROTMAN. In addition to TCPUTILS.INI, the following files must be located in this path: HOSTS, LMHOSTS, NETWORKS, PROTOCOL, SERVICES.
WORKGRP.SYS: Required for WfW3.1 to work in protected mode. Also required by the network re-director (NET.EXE) which comes with WfW3.1. NOT required by the NET.EXE included in the DOS Client 3.0 package.
ELNK3.DOS: The network card driver. Name will obviously vary with your network card.
NET INITIALIZE: This command is a shortcut taken by the DOS Client 3.0. It is the equivalent of loading protman.dos, nemm.dos, tcpdrv.dos and your network card driver in CONFIG.SYS. Since we are going to load all of these manually, we should omit this command! This also allows the use of DEVICEHIGH to load all these drivers into UMB, which is fairly important considering the massive memory footprint of the DOS TCP stack.
NETBIND.COM: Binds all the drivers together. Reads configuration from the PROTOCOL.INI specified by PROTMAN. Nothing will work without binding, however certain versions of the network re-director (such as the one included with WfW3.1) can perform this step automatically with NET START. I still recommend performing this step manually, NETBIND is not a TSR and has no memory footprint. There is no downside to doing it separately.
UMB.COM: Allows the subsequent TCP TSR programs to load part of themselves into UMB automatically. Not required but highly recommended.
TCPTSR.EXE: Primary DOS TCP protocol module. REQUIRED. Can be loaded high with the help of UMB.COM and unloaded on demand by UNLOADT.EXE.
TINYRFC.EXE: REQUIRED. Can be loaded high with the help of UMB.COM and unloaded on demand by UNLOADT.EXE.
NMTSR.EXE: The network management module for DOS. Provides for network maintenance facility programs such as PING, ARP, and NETSTAT. NOT REQUIRED. Can be loaded high with the help of UMB.COM and unloaded on demand by UNLOADT.EXE.
EMSBFR.EXE: I'm not sure of its exact purpose but I think it is required if you have EMS memory. Run the command anyway, it won't stay resident if you don't need it.
NET START FULL: Starts the network re-director. The directive FULL specifies the full size re-director, which windows requires. You can omit the "FULL" if you are using the NET.EXE included with WfW3.1 or if you configure the DOS Client 3.0 to provide the full re-director by default in its SYSTEM.INI. (NET will look for a variety of parameters related to logon/logoff in a SYSTEM.INI file located in the same path as NET.EXE. You will notice that the DOS Net Client 3.0 ships with a SYSTEM.INI in its directory, and the windows re-director uses the same SYSTEM.INI as all of windows.)
Last edited by maxtherabbit on 2024-12-16, 15:47. Edited 1 time in total.
My Personal Configuration
Now that we've studied the examples, let's look at my exact personal configuration to use TCP with WfW3.1 on a 286 using a NE2000 compatible NIC.
Only new thing you will notice here is the DIS_PKT.DOS, which is a shim to allow DOS apps which rely on a packet driver to work with the NDIS2 driver. You will also notice that I omitted the WORKGRP.SYS since I'm using the Net Client 3.0 re-director and running in standard mode.
Three things here. First you will see I'm loading WINPKT which is to allow the trumpet winsock suite to communicate using the DOS Packet Driver shim. Second, you see I'm not loading any of the TCP TSR programs or starting the network re-director. I do these in a separate batch file so I can load and unload TCP on demand. Finally, you see an example of using mTCP's DHCP.EXE which works via the packet driver to NDIS2 shim (DIS_PKT.DOS).
To start Windows
1tcptsr 2tinyrfc 3rem nmtsr 4emsbfr 5c:\net\net.exe start full 6win
To unload TCP when done with networking
1net stop /yes 2unloadt /notsr
For some reason, UNLOADT.EXE is not included with the Net Client 3.0. I obtained it from the LAN Manager installation package.
386 Enhanced Mode
If you have WfW3.1 on a 386 or better and wish to try enhanced mode, I recommend deviating from my personal configuration in two ways:
1) Load WORKGRP.SYS after PROTMAN.DOS. You can safely ignore the warning it prints about NetBEUI configuration.
2) Use WINDOWS\NET.EXE START instead of NET\NET.EXE START FULL. The WfW re-director is smaller than the full one included with DOS Client 3.0 and probably handles enhanced mode better.
I still recommend using the versions of PROTMAN.DOS and the NIC driver included with the NET Client 3.0 in either case, they are newer.
Last edited by maxtherabbit on 2024-12-16, 16:38. Edited 1 time in total.
The WfW 3.1 Network Control Panel
The settings contained in "logon, networks, password" as well as those on the main screen are read from/written to WINDOWS\SYSTEM.INI. These settings will have an effect if you are using WfW3.1's own NET.EXE and will not if you're using a different version of NET.EXE located outside the WINDOWS directory.
The settings under adapters are read from/written to WINDOWS\PROTOCOL.INI. Always in WINDOWS, it doesn't respect the information switch on PROTMAN. They will have an effect if your PROTMAN's information switch points at WINDOWS, otherwise no effect.
IMPORTANT NOTES: WfW3.1 seems to be unable to parse a PROTOCOL.INI which only includes TCP as the single protocol. If you use NetBUEI or IPX as a primary protocol this will not affect you. WfW3.1 will also balk at the version number written to the PROTOCOL.INI by the DOS Client 3.0 (0x3110). Unless you are using a legacy protocol in addition to TCP, I strongly urge you to point PROTMAN's information switch at a path other than WINDOWS, and allow WINDOWS\PROTOCOL.INI to serve as a dummy file in case someone messes around in the control panel.