Skip to content

Instantly share code, notes, and snippets.

@rma92
Last active April 14, 2025 21:51
Show Gist options
  • Save rma92/63e86bdd918f873794931a92e91b6f0c to your computer and use it in GitHub Desktop.
Save rma92/63e86bdd918f873794931a92e91b6f0c to your computer and use it in GitHub Desktop.
Setting up Windows 3.1 with Networking using Microsoft Network Client 3.0 on VirtualBox or VMWare

Tracking all the pieces for this were a bit tricky. The Microsoft Network Client uses 16-bit drivers, which are also used by Windows for Workgroups 3.1. (Windows for Workgroups 3.11 is a separate system with 32-bit networking that uses 32-bit drivers).

You need the Microsoft Network Client installer, and the Windows For Workgroups 3.1 drivers, originally called [wfw31.exe]. It can be found here: https://archive.org/details/pcntn3.386. Note that wfw31.exe is a 32-bit Windows self extractor, you can extract it with 7-zip. Put the contents (pcntnd.dos and oemsetup.inf) in C:\drv\amd.

The Microsoft Network Client can be found on the NT 3.51 Server CD (Clients\MSClient\Disks). It can also be found here: https://archive.org/download/MSCLIENT30 (the two executables are DOS self extracting executables, they can go into a directory together).

Base installation

  • Run Setup.exe, in DISK1 on the NT 3.51 CD, or extracted from the downloadable archive. When you get prompted for a network adapter, select unlisted, enter C:\drv\amd.
  • Enter a default username for file sharing.
  • Choose to Change Network Configuration.
  • When the protocol configuration comes, select Add Protocol, and choose Microsoft TCP/IP. (It defaults to DHCP so this probably doesn't need to be changed.)
  • Remove IPX if you won't need it and finish install.
  • If you get prompted for the OEM driver disk, that's DISK2.
  • Reboot

Set up DNS (and optionally, Windows sockets)

When the system boots, it should get an IP address from DHCP, and you should be able to ping an IP address (e.g. 8.8.8.8). DNS is not configured by default.

To configure DNS:

  • Edit C:\net\tcputils.ini
    • under [tcpglobal] and hostname=<something>, replace <something> with the desired hostname.
    • add a [dnr] section:
    [dnr]
    drivername=DNR$
    bindings=TCPIP
    
  • Edit C:\autoexec.bat. Above "C:\NET\net start", add C:\NET\dnr.exe to start DNS, and C:\NET\sockets.exe to start Windows Sockets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment