How I did it:
Well, I first installed Win32s on Windows 3.1 Final Beta Release (the earliest version of Windows to accept it without modifications to the core system files), and over time continued to an earlier release which ran Win32s after some trial and error of tracing the system files that needed to be replaced, while keeping the rest.
Finally, I applied the same fixes to Windows 3.00a, and then installed Win32s from there. Win32 applications now worked perfectly after adding in COMMDLG.DLL, DDEML.DLL, OLECLI.DLL, and OLESVR.DLL.
So far, here are all of the files that need to be replaced or added in:
Code: Select all
LZEXPAND.DLL (Version 3.10.061d; Windows 3.1 Final Beta Release)
VER.DLL (Version 3.10.061d; Windows 3.1 Final Beta Release)
WIN.INI (Modifications required to prevent Windows from hanging on startup)
SYSTEM.INI (Modifications required to prevent Windows from hanging on startup)
GDI.EXE (Version 3.10.061d; Windows 3.1 Final Beta Release)
USER.EXE (Version 3.10.061d; Windows 3.1 Final Beta Release)
KRNL386.EXE (Version 3.10.061d; Windows 3.1 Final Beta Release)
SHELL.DLL (Version 3.10.061d; Windows 3.1 Final Beta Release; this is to prevent Windows from hanging when select the About dialog box)
COMMDLG.DLL (Version 3.10.026)
DDEML.DLL (Version 3.10.026)
OLECLI.DLL (Version 3.10.026)
OLESVR.DLL (Version 3.10.026)
CPWIN386.CPL (Version 3.10.061d, Windows 3.1 Final Beta Release; note that this file is included to prevent Windows from displaying an error message on startup about the 386 Enhanced Mode control panel
By the way, here are some screenshots for everyone to look at:
This is what happens when trying to select the "Select Game" option after having already started a previous game:
The "Select Game" option works fine when no previous game is already started:
The About dialog box is the same from Windows 3.1 Final Beta Release; this is due to the fact that this particular version of SHELL.DLL is copied to prevent Windows from hanging when opening the About dialog box, as well as to provide any necessary services to whatever Win32 applications that may need them.