VOICE Home Page: http://www.os2voice.org | September 2001 [Newsletter Index] [Previous Page] [Next Page] [Feature Index] editor@os2voice.org

##
Manual installation of Win32-programs using Odin

By Herwig Bauernfeind © September 2001, Translation: Philhard Ackermann

This is the first part of an upcoming series of newsletters concerning the installation of Windows programs to be used with Odin on OS/2, which plans to deal with the following questions:

1. Why are so many installation packages not working with Odin?
2. Unpacking it manually - but what do you need and where do you get it?
3. Done unpacking - but how do you put everything in the right place?
4. Registry problems - how do you find out what belongs in there?
5. Still not working - what's next?

This time we will take care of items 1 and 2.

### 1. Why are so many installation packages not working with Odin?

Like most of us playing around with Odin I quickly found that most of the commonly used installation packages for Windows don't (really) work with Odin on OS/2 (yet) .

This is rather annoying for many reasons, because most of these installation packages perform a bit more than just unpacking an archive and copying files to their (hopefully) proper locations.

There are several reasons why this might fail to work:

Some installation programs for Windows are shipped as 16 bit routines, either partially or completely. This fact on it's own could be considered quite nice as, of course, we've still got WIN-OS/2, but there are some drawbacks:

- Unfortunately many 16 bit installation programs check for the Windows version and simply refuse to run on Windows 3.x aka WIN-OS/2.
- WIN-OS/2 doesn't support long filenames.
- The WIN-OS/2 registry is not the same as the one Odin/Open32 uses. There's no means of glueing the two of them together.
- WIN-OS/2 doesn't support any of those 'sophisticated' Windows 95 techniques such as COM (Common Object Model).

When I started writing this article some weeks ago it simply stated at this point that there would be no hope to ever come up with something useful for WIN-OS/2 as far as installations are concerned.

But things have changed - to the better:

- First, there's W16ODIN from the Odin 'head of development' Sander Van Leeuwen. This is a 16 bit Windows program which fools the 16 bit installation routine to believe it runs on Win9X/NT (I don't exactly know which Windows version it's faking, at least WinVer shows 12.95 instead of 3.10, whatever that means). The second and even more substantial function of W16ODIN is to start the 32 bit chain installation routine (which is usually provided) using Odin. In some other article of this series I will cover the possibilities this feature provides us with.
- The second project, still early alpha at the moment, is dealing with the implementation of long filenames for MDOS and WIN-OS/2. I looked over it, and it seems to be quite promising, but it's far from useable at this stage.

  Unfortunately on explicit request of its author, I'm not allowed to say anything more about it.

- Some Windows installation programs simply ask too much of Odin, because they try to use functions it doesn't (fully) cover (yet). This includes the more recent packages based on the so-called IKernel. InstallShield is one of them.

  One of these days, when Odin is 'complete', they will work.

Well, as you can see there are many reasons that could cause an installation to fail, and unfortunately at least one of them applies in almost every case.

### 2. Unpacking it manually - but what do you need and where do you get it?

So, what can you do when you realise that there's no way to get a Win32 installation to work with Odin and/or WIN-OS/2? You start to unpack the installation files manually.

Doing this you're almost involuntary approaching the hacking / cracking scene, and in fact most of the utilities needed to accomplish this task can only be found on some hacker's or cracker's homepage. By using such tools you could be in danger of infringing software licenses under certain circumstances, but unfortunately I can't deal with this aspect in my article.

Like with OS/2 there are quite many installation packages for Windows.

Before you can expect to successfully unpack a given archive you'll need to find out what kind of archive you're dealing with. The most common types you'll encounter are:

1. Microsoft
   - Installshield: Version 3.x, 5.x, 6.x
   - Wise
   - WinZIP

The best tool to detect the type of installation package you've got is good ol' HyperView by Michael Shacter, it's text-only version in my opinion being even more useful than the PM-version.

Hyperview is to be found at Hobbes: http://hobbes.nmsu.edu/pub/os2/util/browser/hv34.zip.

Hyperview is a file viewer dealing with a vast number of file formats, and is even capable of viewing ZIP files. Please note: HyperView needs unzip release 5.12, it doesn't work with newer versions.

Basically you can use any hexadecimal file editor that lets you search for textual strings whithin binary files. Thus you take a look inside your installation files using one of these utilities and search for strings like "Microsoft", "InstallShield", "Wise" oder "WinZIP".

And then, according to what you've found, you simply use the appropriate tool to unpack the installation archives.

Please note: An extension of .CAB does not automatically imply that the package is from Microsoft, as more recent InstallShield packages also sport .CAB files being of a different format than their Windows counterparts and therefore can't be unpacked with Microsoft's Extract.EXE und Extrac32.EXE.

The following table shows what tool to use with which type of package:

Extraction tools | Native Platform | runs on OS/2 using | files | status
Extract.EXE | DOS | DOS-Box | MS-CAB | useable
Extrac32.EXE | Win32 | PEC.EXE | MS-CAB | useable
stix.exe | OS/2 | native | IS ver 3.x | useable
i5comp.EXE | Win32 | PEC.EXE | IS CAB ver.5.x | useable
i6comp.EXE | Win32 | PEC.EXE | IS CAB ver.5.x | useable
issdec2.EXE | Win32 | PEC.EXE | IS .INS | useable
e wise | OS/2, Win32 | native | Wise (EXE) | useable
WinZIP | Win16 | WinOS2 | .EXE | useable
Win32 | PE.EXE | .EXE | useable

MS .... Microsoft
IS .... InstallShield

All of these programs work flawlessly with OS/2, which means that according to my experiences they don't produce garbage and they don't crash.

The Microsoft programs Extract.EXE and Extrac32.EXE are shipped with every Windows95/98/ME CD, Extract.EXE being located at `\WinXX` while Extrac32.EXE is hidden in one of those .CAB files.

On a standard Windows95/98/ME machine you'll find Extract.EXE in the `C:\Windows\Command` directory and Extrac32.EXE in `C:\Windows`.

You will find most of the other programs at:

http://www.programmerstools.com/decompilers.htm

Normally all of them are CLI programms, there's hardly ever any GUI, but their usage is no more difficult than that of InfoZIPs ZIP/UNZIP or IBMs PACK/UNPACK and similar packer / unpacker programs.

WinZip from Nico Mak Computing is an exeption from this rule (who of us still knows that Nico Mak has originally been an OS/2 user and that there has been a program named PMZIP long before WinZip came out?), because all packages based on Winzip I know of simply are self-extracting ZIP files, which can easily unpacked on OS/2 with any UNZIP from InfoZip.

What's more, any 16 bit Winzip packages can be run flawlessly on WIN-OS/2, whereas the 32 bit packages also flawlessly work with Odin. Even Winzip itself can be used with Odin (though there have been and/or still are some crashes). In fine, when dealing with WinZip installation packages you're not likely to encounter a great deal of problems.

After having collected everything we need to unpack our installation archives manually we will be dealing with the more practical problems you may get on the path to a well functioning Win32 program in the next part of the series.

References: HyperView: http://hobbes.nmsu.edu/pub/os2/util/browser/hv34.zip Location of unpacking utilities: http://www.programmerstools.com/decompilers.htm

[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org