16-Bit Installer Support in Windows 64Posted: February 18, 2010
…For older applications that use a 16-bit stub to launch a 32-bit installation engine, 64-bit Windows recognizes specific 16-bit installer programs and substitutes a ported 32-bit version.
16-bit DOS, Windows, or OS/2 applications often use a 16-bit stub to check the machine type, then launch a 32-bit installation engine to actually perform the installation. To enable installation of applications that use this technique, 64-bit Windows substitutes 32-bit versions for the following 16-bit installer programs:
- Microsoft Setup for Windows 1.2
- Microsoft Setup for Windows 2.6
- Microsoft Setup for Windows 3.0
- Microsoft Setup for Windows 3.01
- InstallShield 5.x
The registry key that defines these installer shims is at HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NTVdm64. The list, according to Microsoft, cannot be extended.
I was certain that TIE Fighter used InstallShield (as did the majority of apps in the era) but what version?
I used Sysinternals’ Strings utility on the setup file (on the install CD, \INSTALL\SETUP.EXE). And got this (redacted a bit):
CompanyName InstallShield Corporation, Inc. FileDescription Setup Launcher ( SETUP.EXE) FileVersion 3.00.111.0 LegalCopyright Copyright InstallShield Corporation, Inc. 1990-1996 Phone : (847) 240-9111 ProductName InstallShield ProductVersion 3.00.111.0
That is it. The installer is version 3.0 and the shim only works with 5.x. I noted elsewhere in the Strings output, clues as to the real age of the installer at the time—there are references to MIPS and Alpha architectures, which have not been in Windows for a very long time (MIPS was discontinued around the time of NT4 and Alpha never made it past Windows 2000 before being assimilated by Compaq.)
So much for that.