Hot on the heels of InstallAware’s Native Code Setup Engine, which transcends built-in Windows Installer limitations, InstallAware today announced the latest InstallAware initiative: new setup engines for the DOS and Win16 platforms. “I have long been staring at this glaring gap in our Microsoft platform support,” said Sinan Karaca, founder of InstallAware Software. “This gap has pained my eyes for long enough – and it is about time we did something about it!”
While InstallAware setups support all 32 bit and 64 bit Windows versions (from the very first build of Windows 95 launched in August 1995, to the latest Server 2008 R2 64 bit), with the same single setup binary, InstallAware has never supported Microsoft’s first widely successful versions of Windows (3.0 and 3.1), or Microsoft’s first operating system, MS-DOS.
InstallAware engineers have researched how sophisticated DOS installers for products like Norton Utilities or PC Tools work: They create the illusion of a graphical display (and a graphical mouse cursor) even in text mode, by dynamically modifying the DOS character set, even with the slightest movement of the mouse. InstallAware plans to render all existing InstallAware setup controls using the same technique, without requiring source level changes in existing installations. InstallAware will even render “Fake Aero Glass”regions in character mode, based on the same technique – ensuring this exclusive InstallAware feature is also back-ported.
InstallAware’s real mode setup engine will require no more than 256KB of RAM on target systems. “While most DOS applications assume that at least 640KB conventional memory is available, due in part to the great work done by memory optimizers such as QEMM, we realize that a lot of the XT (and possibly some AT) systems out there come with 512KB memory, or even less,” adds Royi Sher. “In the time honored InstallAware tradition, to provide the best customer experience possible, our real mode setup engine will work with .OVL real mode overlays, and not need more than 256K free conventional memory at any given time.”
InstallAware is planning to consume the Windows API introduced with Windows 2.0 in its protected mode setup engine. “Most of the API provided by Windows 3.0 and Windows 3.1 was initially introduced in Windows 2.0,” says Aviv Giladi. “While we could have gone with a custom DOS extender like DOS4GW, it made more sense to leverage the Win16 API, together with its standard user interface metaphors, in our protected mode solution. Unfortunately, this does mean we will be sacrificing Windows 1.0 support in our product – which I hope Mr. Karaca won’t notice.”
InstallAware’s protected mode solution will also be fully backwards compatible, just like the InstallAware Native Engine which does not require any source level changes in existing InstallAware setups already built on top of the Windows Installer framework. All InstallAware engines are based on the human readable MSIcode script, which is compiled seamlessly into an MSI file at build time. Today, a developer can switch his setup at runtime between Windows Installer and Native Code setup engines freely, as many times as needed. Tomorrow, two more engines will be available in the mix.
“The only real challenge remains how to enter and exit real/protected mode within an existing virtual mode Windows session,” adds Mr. Karaca. “We are considering multiple techniques like hypervisor based virtualization, application virtualization, among others. The most exciting technique to me is the boot loader we’ve codenamed April for the coming spring. If a PC is booted with April first inserted to a USB slot, everything becomes real easy.”
“Doubtless there will be naysayers who fail to see the broader thinking behind our plans,” concludes Mr. Karaca. “I expect, first and foremost, to hear from industry analyst Christopher Painter, who has often portrayed us quite unsympathetically. Maybe now with this last secret InstallAware piece uncovered, he will finally support us!”