1. Definition of Win32s
2. Downloading Win32s
3. Which programs are likely to run with Win32s
4. What the reasons can be if programs don't run
5. The list itself: Apps that are compatible with Win32s
6. NEW:Windows NT 3.51 compatibility
Before we begin: What's Win32s anyway?
Win32s is an extension for 16-bit Windows (3.1x) that allows the execution
of 32-bit programs originally written for 32-bit Windows versions, such
as NT 3.x, 4.0 and Win 9x. But please do not assume that every 32-bit
program will actually run on Win32s: originally it was only designed for
compatibility with NT 3.x, and only a subset of the Win32 API is supported
(that's why it's called Win32s)! By the way: 16 and 32 bit
apps can exchange data over the clipboard and use OLE functions (which
means that you can put an image that has been created in Paint Shop Pro
3.12 32-bit into your Winword 6.0 document and edit the image in PSP when
necessary; this only works if PSP is registered as an OLE server though).
Download of Win32s
Win32s 1.30c can be downloaded here: ftp.microsoft.com/softlib/MSLFILES/PW1118.EXE
It's about 2.5 MB in size and comes with a 32 bit Help program, which
is very useful, as it is a functional equivalent of the Help program of
Windows 95; it can even read Win95 help files. Also included is a little
game called Freecell, mainly for test purposes. And last but not least,
the latest OLE files (v2.03) come with Win32s as well - OLE functionality
must come from somewhere ;).
What kind of program is more likely to run on Win32s?
Multi-platform software is more likely to work with Win32s, such as
the image viewer XNView (freeware, more than 100 formats), the math software
Maple V (until Rel. 4; Rel. 5: Single-user version only), the raytracer
POV-Ray
(until V. 3.02, Win32s support dropped for V. 3.1; freeware), and, as I've
been told, Adobe Photoshop until V.4. And of course we mustn't forget the
kind of programs Win32s was originally intended for: a host of Win NT 3.x
software (well, "host of software" may be a "bit" exaggerated...;).
Why are there so many programs that don't run on Win32s?
There are a number of reasons.
To summarize:
The programmers must address Win32s specific problems; for example,
good memory management is necessary to prevent resource leakage. That means
extra work, of course. Additionally Win32s needs program and DLL sections
that can be omitted in Win9x/NT. Another reason is that all the newer development
tools do not support Win32s anymore (the last MS Win32 SDK that ships with
Win32s is from 1996, for example), and today's compilers' defaults are
usually incompatible to Win32s as well.
Now the details:
If a program uses Win9x specific functions of any kind, multi-threading,
relies on fixed addresses (meaning that it lacks relocation tables) or
simply uses Win32 functions that aren't implemented in Win32s, then it
won't work. In case of lacking relocation tables Win32s simply doesn't
understand the format of the executable (resulting in an "Invalid format"
message). The registry database is another problem, especially if the program's
keys contain spaces (" "). Console mode apps can run if they're well-written
(e.g. have relocation tables etc.), but there are no output possibilities,
which means that one can't see what the program is telling the user, including
help texts, unfortunately. Additionally, they must be started from Windows;
unlike in Win9x, starting them directly from a DOS box doesn't work. Examples
of working console mode apps are the Win32 console mode version of the
web server Xitami 2.4d7 and the image converter NConvert which comes with
the Win9x/NT version of XNView (which BTW, is identical to the "Win 3.x"
version, except for other language DLLs).
For further enlightenment I've cited from various posts from Paul Chitescu (hope he doesn't mind):
[comments in italic]
(Date: Wed, 30 Jun 1999 16:53:38 +0400
Forum: microsoft.public.win3x_wfw_dos)
Top reasons why a 32-bit applications won't run on Win32s :
In the same message he wrote about his modified version of shell32.dll:
Many applications are not using purely Win32 API but also '9x specific ones. MS had to add some things to his NT 4 to keep such applications running (remember DirectX ?)
What I've done is a rewrite of the SHELL32.DLL that came with Win32s ersion 1.30C (that is, build 172). I disassembled that file and copied low-level thunking code as-is, except I stripped unreferenced setjmp() and longjmp() (Note: How did they link them there anyway ?).
I've written a DLL that extends this version of SHELL32 by implementing
Shell_NotifyIcon() (both A and W, I've found later that 9x implements only
the ANSI version) and SHAppBarMessage(). When I have more time I will implement
more SHxx functions.
[I'll ask him if he can put it in his user
page's software directory]
In another post in the same newsgroup (dated
[Someone had encountered an Error 21/"Invalid Format" message from Win32s]
Unfortunately the VC++ 5 and 6 compilers default to not generate a .reloc section in applications so the .EXE can be loaded only at its fixed base address (default 0x400000) that is not available in Win32s.
There's no way around this error because of the different memory organization in Win32s where all programs share the memory in a single virtual machine. In a true Win32 environment each 32bit application gets its own virtual machine in which all the address space is free.
Here's my little list of compatible apps ("mp" means multi-platform software):
Especially "friendly" apps are marked ":)".
Programs that are also friendly, but which suffer from minor problems (difficult
installation, resource eating or slight instabilities), are marked ":|".
Programs suffering from major instabilities (thus being only useful for
experiments) are marked ":(". The third
category is constituted by programs not intended for Win32s (as you may
imagine). Smileys in brackets mean "not sure". Question marks stand for
"unknown". The license types are COM (commercial [payware]), COM/DEMO (commercial,
w/ demo version), FREE (freeware), SHR (shareware).
Note: Many thanks to Gaby Chaudry,
who has added quite a few programs in the past :).
Company | Software / Version | License | "Friendli- ness" | Stability | Problem(s) | Solution to the problem(s) | Installable under Win32s | Intended for |
Adobe | Photoshop until 3.x | COM | :) | Good | Installer may give trouble by crashing in module <unknown> (v3.0) | Try installing with a minimum Windows config | Yes | Any Win32 (mp) |
Adobe | Photoshop 4 | COM | [:|] | Said to be less fast and stable | Resource hog | -- | Yes | Any Win32 (mp) |
Ahead Software GmbH | Nero Burning ROM (until 4.0.3.0, newer versions: support dropped) | COM/ DEMO | :) | Good | Does only support SCSI CD-R drives, slight display problems, with SCSI burning problems seem to be anything but rare | 1st problem: Not found yet :-( | Yes | Any Win32 |
Ajuba Solutions | Tcl/Tk 8.0p2 | FREE | :) | Good | Minor incompatibilities | -- | Yes | Any Win32 (mp) |
Aladdin | Ghostscript 6.01, GSview 3.6 FREEWARE | COM/ FREE | :| | Good | Difficult install, some utility programs don't run on Win32s | RTFM | Yes | Any Win32 |
Alchemy Mindworks Inc. | GIF Construction Set 95 1.0L | SHR | :) | Good | May complain about missing DLLs | It's not impossible to get those, though ;) | Yes | Windows 95 |
Corel Corp. | CorelDEPTH 6.0 | COM | :| | Good | Missing key in the registry database | Execute this registry editor with the parameter /V and add the key (HKCR is root directory, all others are the same as HKCR) | No, click here for dir list and ini file excerpts | Win 95 |
Corel Corp. | CorelDREAM 3D 6.0 | COM | :| | Good | Same as above | Same as above | No, click here for dir list and ini file excerpts | Win 95 |
Daniel Hyams | Curve Expert 1.3 | SHR | :| | Good | Replaces CTL3D32.DLL. Help doesn't work, may cause a crash if executed anyway. | Make a backup copy of CTL3D32.DLL before installing, and write it back afterwards. | Yes | Any Win32 |
Dommelsch | Roll'm up | FREE | :| | Good | crashes when leaving program or trying to load highscore list (i.e. 'Game over' really means 'game over'....) | None | Yes | Win95 |
FMJ Software | Awave 3.0 | SHR | :) | Good | may crash when used with incompatible sound card | none | Yes | Any Win32 |
Funduc Software Inc. | Search and Replace for Win95/NT | SHR | [:)] | Good | ? | -- | Yes | Win 95/NT |
Gekko Software | Kalua Cocktails 98 | DEMO | :) | Good | Occasionally shows error messages. Sound effects don't work (depending on sound card?). | ignore error messages | Yes | Windows 9x |
Gilles Vollant | WinImage 5.0 | SHR | :| | ? | Caused a few system lockups while reading floppies here - no clue why | ? | Yes | Any Win32 |
Guardian Software Productions Patrick Cornelißen | SoundGuard 2.0 | SHR | :| | Good | starts up with error messages (ignore them) and cannot be closed normally | use a taskmanager or other program that can kill the problem(s) processes to close the application | Not needed | Any Win32 |
Hamrick Software | VuePrint Pro/32 7.6e | SHR | :) | Good | None as yet | -- | Yes | Any Win32 |
HeadLight Software | GetRight 1.3b | SHR | :) | Good | Does not always work with Trumpet Winsock, some fiddling with proxy servers required (only if you use one, of course) | Make sure Win32s's wsock32.dll is used | Yes | Any Win32 |
Helios Software Solutions | TextPad32 1.30 | SHR | :) | Good | None | -- | Yes | NT 3.x |
iMatix Corp. | Xitami 2.4d7 Win32 console mode version | FREE | :) | Good | Console mode, so there's no output | none | Yes | Any Win32 (mp) |
Ipswitch | WS_FTP Pro 6.0 | COM | :( | Good | Profile manager hangs | ? | Yes | Win95/NT |
Ipswitch | WS_PING32 | ? | [?] | ? | Some display problems | none | ? | ? |
Ipswitch | WS_PingProPack 2.10 | COM | :) | Good | none | -- | Yes | Win95/NT |
Ipswitch | WS_WATCH | FREE | :) | Good | Some display problems, wants to use MS icmp.dll | none; insert line "ms_icmp.dll=0" into %windir%\ws_watch.ini to force using rs_icmp instead | Yes | Any Win32 |
JASC Inc. | Paint Shop Pro 3.12 | SHR | :) | Good; very stable | Will not show the properties of PNG images in the Open File dialog if they have been created by PSP itself | none (the bug does not only occur under Win32s) | Yes | Any Win32 |
Jeff Parker | Memory Status 1.1 | FREE | :) | Good | Small resource leak | -- | Yes | Any Win32 |
Jerome Tremblay | Window HTML 1.1 | FREE | :) | Good | produces long file name associations in the HTML files | edit the HTML code... | Yes | Windows 9x |
Lars Hederer | CabPack 1.3 | FREE | :) | Good | None | -- | Yes | Windows 9x |
Leonardo Loureiro | LView Pro 1.D2 32-bit | SHR | :) | Good | None | -- | Yes | Any Win32 |
? | mIRC 5.6 | ? | [?] | ? | Config dialog uses lots of resources | Configure mIRC when enough resouces are free | Yes | ? |
Micrografx | Picture Publisher 6.0 | COM | :( | Mediocre | Registry (does not save settings), startup screen won't go away, new window opened at startup | For startup screen: Find the dialog box under the startup
screen, move it away and close it.
Otherwise: None, use for experiments only. |
No | Win 95 |
Microsoft | FontView (from Win95's Quick Viewer) | COM | :) | Good | none | -- | No | Win95 |
Microsoft | Help compiler v4.0.213 | COM | [?] | it works | ? | -- | ? | Win 95/NT (?) |
Microsoft | MS-Info32 (from Office 95) | COM | [?] | ? | ? | -- | Probably not | Win 95/NT |
Microsoft | OLE2 viewer (Win95 SDK, Visual C 2.0) | COM | [?] | it works | ? | -- | ? | Win 95/NT (?) |
Microsoft | Windows 95 calculator | COM | :) | Good | none | -- | Not needed | Win95 |
Microsoft | Various W95 screen savers (the "standard" ones, such as flywin, marquee, mystify etc.; 32-bit flywin runs _much_ more smoothly), except for bezier.scr | COM | :| | Good | Settings aren't saved | Keep Paul Chitescu's Enhanced Registry Editor open. | Install not needed | Win 95 |
Microsoft | Windows 95's Wordpad | COM | :( | Not all that good | Ruler doesn't work, crashes on opening / saving files (IIRC) | You need the Win32s compatible msvcrt20.dll and the MFC 3.0 DLLs | Install not needed | Win 95 |
Mirabilis | ICQ 1.111beta | FREE | :| | Good | Sometimes problems when communicating with newer versions, installs Win32s incompatible msvcrt40.dll, doesn't seem to work with IE 3.02's dialer, crashes on startup if Netscape is already running (resource shortage?), no longer works due to protocol changes? | DLL problem: Replace with the correct version; otherwise: none | Yes | Any Win32 |
<Development group> | POV-Ray 3.02 (3.1 upwards: support dropped) | FREE | :| | Good | System hangs when POV-Ray restarts itself | If settings need a restart, change them manually in the pvengine.ini file. | Yes | Any Win32 (mp) |
Photodex | CompuPic 4.00 build 963 | SHR | :( | unstable | crashes often, uses up nearly all the resources | none | Yes | Win95/NT |
Pierre-e Gougelet | XNView 1.25 ("Win 3.x" version) | FREE | :| | Good | V1.07 didn't like Instant File Access; the versions 1.11 and 1.12 had a resource leak; the file browser in new versions is pretty resource hungry | Use standard dialog instead (V1.07); resource leak fixed in 1.14 | Not needed | Any Win32 (mp) |
Pierre-e Gougelet | NConvert (included w/ XNView 1.15 for Win9x/NT) | FREE | :) | Good | Console mode, so one doesn't see what happens | none | Not needed | Any Win32 (mp?) |
RarSoft | WinRAR 2.02 | SHR | [?] | ? | ? | -- | ? | Win95/NT |
Raihan Kibria | frhed - free hex editor 1.0.156 | FREE | :) | Good | none | -- | Not needed | Any Win32 |
Raphael Molle | WinVi 2.90 (32bit version) | FREE | :) | Good | About dialog doesn't work | none / use 16 bit version :) | Not needed | Any Win32 |
Siegfried Weckmann | SWInfo 3.04 | FREE | :| | Good | only partially usable because of incorrect output | none | Yes | Win95 |
Smartdraw | Smartdraw 3.23 | COM | :) | Good | Installer says the program doesn't work with Win 3.1x (this is wrong) | -- | Yes | Win95/NT |
Todd C. Wilson | MapThis! 1.3 | FREE | :) | Good | none | -- | Yes | Any Win32 |
UR Soft | W32Dasm 6.4 | COM/ DEMO | :| | Rather mediocre | Crashes now and then, but Win32s can intercept the crashes; resource eater | none | Not needed | Any Win32 |
Vincenzo Iuorno | Lookdisk 2.5 | FREE | :) | Good | None | -- | Yes | Any Win32 |
Vulcan Technology | Vulcan Notes 2.13 | SHR | :) | Good | None so far | -- | Yes | Win95/NT |
Waterloo Maple | Maple V Rel. 5 Single-user | COM | :| | Good | Collides with All3D; uses 36% of GDI resources | Do not add any 3D effects to wmaple.exe in Control Panel >> All3D; Maple uses them by itself, which then leads to a system hang | Yes | Win95/NT4+, Win32s (mp) |
Waterloo Maple | Maple V Rel. 4 | COM | [:)] | Not extensively tested | None, seems to use less resources (~17%) | -- | Yes | Any Win32 (mp) |
XATech | JPEG Optimizer 1.31 | SHR | :| | Good | it's impossible to close the program because of a persisting error message | use the task manager to exit the program | No | Win95 |
XATech | JPEG Optimizer 3.15 | SHR | :( | Good | it's impossible to close the program because of a persisting error message; help doesn't work (may even crash the system); all features available in unregistered version, but the new ones (vs. 1.31) disappear when the registering code is entered!? | use the task manager to exit the program | No | Win95 |
Yuri Software | HEdit32 v1.2 | SHR | :) | Good | None | -- | Yes | Any Win32 (Win NT 3.1) |
I have some localized (=translated) Win32s 1.30c DLLs, but I'm not going
to upload them, as they are quite large (German language files: approx. 607
KB zipped). If you'd like to have Danish, German, Spanish, Finnish, French,
Italian, Dutch, Norwegian or Swedish DLLs and Winhlp32, just
write to me and I will send them
to you.
Windows NT 3.51 compatibility
One could call NT 3.51 "Win 3.1 on steroids", and there certainly is some
truth to that. However, under the 3.1-ish hood it doesn't bear too much
resemblance to plain Windows 3.1x - it's a 32 bit operating system which
supports true preemptive multitasking, multithreading, SMP operation (NT
Workstation: up to 2 CPUs, NT Server: up to 4 CPUs, NT Advanced Server: up to
8 CPUs), OpenGL acceleration (3D stuff), Unicode character sets/fonts and
which runs much more stable than "consumer-grade Windows" (partly due to
virtually not having those nasty resource limits that drive you nuts in 3.1x).
Weaknesses are relatively few: No power management support, no support for
plug and play (don't try removing PCMCIA cards when it runs!), only very
limited (and thus virtually useless) DCI video acceleration. As you can see,
it's not without a reason that the NT variants are called "Workstation" and
"Server" - these names describe best where NT is able to play out its
strengths (or the other way round: where its weaknesses don't matter much):
office computers, graphic workstations (well, at least back then) and servers.
Obviously it's not an ideal choice for multimedia or notebook computers.
(This only changed with Windows NT 5.0 a.k.a. Windows 2000.)
Considering its 1995 release date (and 32 bit nature), it isn't all that
amazing that Windows NT 3.51 is more demanding than plain 3.1x: 16 MB of RAM
are the bare minimum, though even 24 megs will only allow operation of
contemporary software (like Netscape 4.08) with lots of swapping; with 48 MB
it's a lot better. Having become the proud owner of a dual Pentium 90
machine recently (Gigabyte GA-586DX rev. 3B, 48 (originally 24) megs of RAM
from my old P75@90, a 540 meg hard disk, spare ELSA 2 meg PCI graphics card,
10 MBit PCI NIC), I decided to try NT 3.51 on it ('cuz it's "the OS I've
always wanted to check out"). It seems that this elderly OS has largely been
abandoned, and quite a few newer apps will not run on it. (IMO this is a pity
- it's a quite nice, stable OS.) The reasons for this are partly similar to
those with Win32s:
Company | Software / Version | License | Stability | Problem(s) | Solution to the problem(s) | Installable under NT 3.51 | Intended for |
Adobe | Acrobar Reader 3.01 (32-bit) | FREE | Good | none noted; later versions don't work | -- | Yes | Win 95/NT |
CompCore | SoftPEG 2.21 | COM (*) | Good | Mplayer.exe from VfW 1.1 is needed; no video acceleration | -- | Yes | Win 3.1x/95 |
Eberhard Backeshoff, DK8JV | JVComm32 1.21 | SHR | Mediocre | The self-extracting distribution ZIP archive doesn't want to run; app crashes as soon another mode than "None" is selected (probably window creation fails), which pretty much makes it useless | Use WinZip to extract the files and run setup.exe; none | (No) | Win95/NT4+ |
GIMPS | Prime95 v21 | FREE | Good | None, great stability test (and you can make math history by finding a Mersenne prime :) | -- | Yes | Win95/NT |
JASC Inc. | Paint Shop Pro 3.12 | SHR | Good; very stable | Will not show the properties of PNG images in the Open File dialog if they have been created by PSP itself | none (the bug does not only occur under NT 3.51) | Yes | Any Win32 |
Jeff Parker | Memory Status 1.1 | FREE | Good | None | -- | Yes | Any Win32 |
Juoni Vuorio | CPU Stability Test 6.0 | FREE | Good | None | -- | Yes | Win95/NT |
Markus Oberhumer, Laszlo Molnar | UPX 1.20w | FREE | Good | None | -- | Yes | Win95/NT |
Microsoft | TZEdit (Win95 Kerneltoys) | FREE | Good | none | -- | Yes | Win 95 |
Netscape Communications Corp. | Communicator 4.08 (32-Bit), 4.51, 4.7, 4.73 | FREE | Good | No probs with these, but 4.78 did *not* work (obviously a sign of the 3rd party maintenance - NT 4.0+ kernel functions required) | Installing the OLE automation update oadist2z.exe and other updates might not be a bad idea in case you experience any trouble with older versions | Yes | Win95/NT (mp) |
Nico Mak Computing Inc. | WinZip 7.0 SR-1 | SHR | Good | Will not run EXE files from within archives, since they're not associated with anything in NT 3.51; 8.0+ versions don't work | Use Regedt32 to set up the .EXE file type like in Win9x/NT4+ | ? (I'm lazy and copied the whole directory over the network ;) | Win95/NT |
Opera Software | Opera 3.62 32-bit | SHR | OK | A bit too crashy for my taste, but the 16-bit version isn't any better; file dialogs don't work (CommDlg extended error 0x2) | None | Yes | Win95/NT |
Opera Software | Opera 4.01 | SHR | Good | Slight display problems, same dialog problem as with 3.62; both 5.12 and 6.01 gave considerable trouble (common control issues, I guess) and are not to be recommended | None | Yes | Win95/NT |
Pierre-e Gougelet | XNView 1.25 ("Win 3.x" version) | FREE | Good | Language files aren't loaded?! | none so far | Not needed | Any Win32 (mp) |
Raphael Molle | WinVi 2.90 32-bit | FREE | Good | None | -- | Yes | Any Win32 |
Thong Nguyen | PowerMenu 1.50 | FREE | Good | Growing number of "Priority" menus; "Minimize to tray" minimizes to nowhere since there is no system tray (tip: use a good Win 3.1x task manager to unhide the window) | None | Yes | Win95/NT4+ |
Waterloo Maple | Maple V Rel. 5 Single User | COM | Good | Requires use of Win32s files with Win32 msvcrt40.dll | Copy whole Maple directory from a 3.1x computer, rename msvcrt40.dll to .dlx or similar | No | Win95/NT4+, Win32s (mp) |
Webwasher.com AG | WebWasher 3.2 beta 3 | FREE | Good | Configuration dialog has some display issues: menus with empty captions and empty (but working) items, some displayed items like the local proxy port entry field are beyond the right border | No fix, app works fine within the given limitations (Winsock 1.1, full functionality only available with Winsock 2.0) | Yes | Win95/NT4+ |
XingMPEG 1.4 | COM (*) | Good | Mplayer.exe from VfW 1.1 is needed (possibly the whole package); no video acceleration | -- | Yes | Win 3.1x |
Not optimized for any special display resolution, but
you might get in trouble with 640x480.
This page should work in any relatively modern browser.
Created 08/07/1999 (dd/mm/yyyy)
Last revision: 2002-04-02 (yyyy-mm-dd)