16 Bit Applications on Windows 11?

With the EOL for Windows 10 in about a month not only does Windows 10 go EOL but with it also the last 32-bit Windows as there is no 32-bit version of Windows 11. Yes, I know there are ESU options and Windows 10 (IOT) LTSC is still around for a while, but let’s ignore that for now and see if we can migrate a few of our ancient business apps to Windows 11.

16 bit Install Shield 3 installer

Let’s start from not so old to really old and let’s start with Applications that are actually native 32 bit apps but rely on a 16 bit Installer like InstallShield version 3.


Even though the installer technically is also 32 bit, the setup uses a 16 bit stub to start, so we will end up with the known error message indicating that I try to run a 16 bit Application:

Fortunately, the InstallShield installer contains everything we need, so we just need to run it once on a system that still supports ntvdm to run the initial stub. No need to actually install the Application there, we just need to wait till the 32bit setup is extracted to the temp folder from where we can grab it, just make sure to leave the setup running until you copied it, as it will get deleted once the setup closed:

It’s usually called “_INS0432._MP”, we can simply copy it from there to our application source and rename it to setup32.exe

Now that we have the setup available on our Windows 11 system, we can simply launch the installer just like every other win32 application:

Who does not like these old school Fullscreen installers 🙂

This way we now have our application running on Windows 11 just like nothing happened. If you don’t have the option to run the 16 bit setup on a different machine to capture the 32 bit setup, you can try to download a generic InstallShield 3 setup from the internet, as long as it’s the same version (and not malware) it should work. Another option could be to run the setup in otvdm, as I will show in the next section.

Win 16 Applications

Next let’s get a little bit older and let’s talk about Win16 Application that were written for e.g. Windows 3.1 / 95. These applications can’t be ran natively on a 64 bit version of windows, but we can use a really cool project called WineWDM / otvdm that backports the wine implementation back to windows: GitHub – otya128/winevdm: 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
Once downloaded we will end up with a zip archive containing everything that we need to run our application:

It contains an option to install winevdm which would allow you to automatically run every 16bit application in otvdm. Personally, I’m not a big fan of that, since you never know how such a change will behave in a future windows update, etc. Fortunately, if all we want to do is to run a single application in otvdm, we don’t need to go that route, we can simply directly launch it from otvdm. I just copied the content of otvdm into the application folder of my application and now we can start the app by calling otvdmw.exe appname.exe

The Application now starts just like it did on a 32bit version of windows with one really cool addition, since otvdm ships the wine version of winhlp32.exe, even the old help files are working again, a feature that was made optional with Windows Vista and removed with Windows 10

In my opinion WineVDM is a really cool option to run your Win16 applications on Windows 11, while it is sure not perfect from my experience it can run a lot of applications pretty flawlessly and since it is an open source project, there is always the option to fix an issue ourselves if needed at some point.

DOS Applications

Once we have to deal with native DOS Applications in my option it is best to have a look at something like DOSBox-X: DOSBox-X – Accurate DOS emulation for Windows, Linux, macOS, and DOS From my experience it often has a way better emulation of a native DOS environment than ntvdm ever did, even back in the Windows XP times. The only downside of using DOSBox-X compared to ntvdm back in the time is it actually emulated DOS only not Windows, so things like .pif files that manipulated the way windows handled dos apps are not possible within DOSBox-X but usually it is not an issues, since the apps were written for DOS in the first place.

In my example I created a configfile for STEP5, that will mount the required folders and set the environment variables needed to start the program:

Since an SPS Tool without communication options is pretty useless and Windows 11 compatible laptops with physical RS232 ports are pretty rare, I wrote a small PowerShell helper, that will dynamically map a selected USB Serial Adapter to the DOSBox configfile. You can use it to dynamically modify the serial port, which should be used:

A click on OK, will then launch DOSBox-X with the preselected configfile:

And just like that, physical COM3 is mapped to COM1 in DOSBox, and my PLC connects to STEP5 without issues:

You can find the sample script on my GitHub page: Scripts/DOSBox_COM_Port_helper.ps1 at main · mmeierm/Scripts

Conclusion

Even now without any Windows Version in main support left that natively (through ntvdm) support 16bit apps anymore, it’s good to know that there are still options left to run these ancient line of business apps.


Posted

in

by

Comments

3 responses to “16 Bit Applications on Windows 11?”

  1. Markus

    Hello,
    I found your article very interesting. I myself have been using WineVDM successfully with Windows 11 and 16-bit software for quite some time. Under Windows 10, I had been using NTVDMx64.

    Now, however, I have a question.
    I tried to install step5 myself. Once using WineVDM and once using DOSBOX-X. With WineVDM, I have the problem that the S5MCD.sys driver is missing. However, the license is recognized there.

    With DOSBOX-X, there is no driver problem, but Step5 does not recognize the license.
    However, when I start “Authors” in DOSBOX-X, the license is recognized and displayed.

    I installed the license in Windows with “AuthorsW.”

    By the way, I mounted my C: hard drive as C:.

    Thanks for your help.

    1. Hi, nice to hear we are not alone 🙂
      Regarding the licensing, to be honest I’m not sure how it works, I just copied a working STEP 5 installation from a Windows XP Laptop and it directly worked.
      I read online that the AuthorsW should create a hidden folder on the root of your Harddisk “AX NF ZZ” that should contain the license, maybe worth a try to copy that folder to the root of your DOSBox instance, but I didn’t need that for my version.
      What I found out, there is a file “S5KXS09Z.EXE” in the S5_SYS directory that seems to contain the license information, as even when I installed a fresh copy of STEP 5 in DOSBox, I only needed to copy that version of the file from the laptop to DOSBox-X and it showed my company name… But I have no idea how that worked, maybe that was a special version back in the days, not sure the file has a last modified date from back when I was in elementary school… 🙂

  2. Tom

    Hi,

    And I thought we were the only ones who had to use such old software to keep our machines running. We need to run old B&R Versions as mentioned in your post and also a 16bit Application, and we already did the same you explained in this post.

Leave a Reply

Your email address will not be published. Required fields are marked *