blog

Blogs of the past: Cool Windows 2000 utilities: IExpress

iExpressI’m back with another blog from the past! This one I would place sometime in 2001 or earlier with an update on May 13, 2004. One of the most amazing facts about this post is that IExpress is still in Windows! This small utility is still included in Windows 7 and I would even expect it to be around when Windows 8 ships. This was one of my more popular posts back in the early 2000’s. As always, I will add my own annotations to the blog by way of red text. Enjoy!

If you’re like me, one of the first things you do when you get a new application or Operating System installed, you go looking for the small utilities that have been included. I feel your pain if you spend numerous hours scanning the \NTRESKIT directory looking for utility heaven. Your hard drive features a C:\UTILS directory and you obsessively maintain each of the utilities for future use. Among these cool utilities were the HWINFO utility in Windows 95 and the MSCONFIG utility in Windows 98. Included in Windows 2000 and Windows XP is a small utility called IExpress. This utility is generally hidden from users and is actually included in every single distribution of Windows 2000 Professional and Server. I’ll tell you what IExpress is, and how you can use this cool utility. Truth be told, I’m still something of a tool-geek :)

What is IExpress?
IExpress is a utility that lets you create standalone installation packages that can be used to extract files or temporarily extract installation source files and then run the setup command. IExpress creates an output file, and executable (.exe) that contains all the files you specified, and the instructions to carry out the extraction of these files. The files are stored compressed in Microsoft’s cabinet format. IExpress requires the following files to work properly:

WEXTRACT.EXE- Win32 Cabinet Self-Extractor
MAKECAB.EXE – Microsoft® Cabinet Maker
IEXPRESS.EXE – IExpress Wizard

If you decide you would like to take these files and use them elsewhere, they will work on Windows 95 and above as well. IExpress has a number of options that can be quite useful. You use your own installation title as well as a welcome and finished message for the user. If you have developed software and would like to roll it out quickly and easily, IExpress can also include a license agreement. A much easier way to go than MSI in some cases

Why would I use it?
There are many great reasons to use this utility. I have found this utility to be extremely useful for creating simple, one file, and application installations. Applications are often a pain to keep track of and the installation source files can get lost or mixed with other files. If you have these applications on the network, you will have to have a directory for each application installation. When using IExpress I can place all of the install files into one .exe file and call it say, Anti-Virus.exe. I can then keep every application in one directory on a server. The ability to keep these entire install files in one .exe greatly simplifies deployment of programs to users. If you develop software, you can choose to give the end-user an easy way of installing your program, but not use all of the fancy Installsheild setup. This is great for applications that might just contain one executable. Many users have come to expect some type of installer, so it looks more professional. IExpress could also be used to install drivers or ActiveX controls you have pre-setup. If you have a files that you’d like to send someone by email or otherwise and want to simplify it for the user, you would want the convenience of an .exe (provided you take precautions to avoid viruses). IExpress lets you compress these files and provide instructions to the user when the installer runs. This would be an ideal way of moving files by email. I would now really not use this to (a) install drivers or (b) to send files by email. None of these use-cases would work well in today’s driver-installer packaged and .exe-stripping mail server world.

To use IExpress, in Windows 2000, or Windows XP click on the start menu, click “Run” and then type in “iexpress” and press enter. You will be presented with a wizard and can get started creating your own self extracting files.

SED’s dead baby, what is SED? (Pulp Fiction joke, get it?)
The SED, or Self Extraction Directive file is simply what you might call a settings file or in programming a project file. The SED keeps the details of your self extracting file so that you can quickly use the same configuration again changing a few settings or just running the file creation process again. IF you have an application installation that changes often, you will want to keep an SED file and recreate the self extracting file when the application is upgraded.

OK, so its not perfect
There are limits, when IExpress extracts the files to a temporary directory and runs an installation command it watches the command it ran. When this process is finished, IExpress removes its temporary files from the drive. Often times you see (Mcafee’s Anti-Virus 4.0.3 for Windows 95 is an example), the installation application will spawn multiple installation programs while running. IExpress will attempt to delete all of the temporary files, thus stopping the installation that is running by way of a crash in most cases. If you choose to only extract files, you cannot include a directory structure. The files in IExpress extract to one directory only and will not allow creation of a structure on the drive. There is no security in the file, the files compressed in your output executable cannot be stored with a password and can be extracted by anyone who has decompression software for cabinet files. Very simple, and sometimes simple is good.

Other Installer applications
As I have used IEXpress to create installers, other installer-type applications have come out. There will be the InstallSheild for the professional, paid users – there are are also a number of free alternatives.

The package I use the most is the Nullsoft Installer System (or NSIS) for short. The program is free, and it probably has the best power/ease of use ratio I have found. The best, even today, in my opinion

NSIS, makes .EXE installers, but if you need to make .MSI – based installation packages, a recently Open Sourced WIX is an interesting option. The compilation of MSI’s seems to be fairly straightforward – be warned though, most of the interaction with this is command-line based. Another free .MSI creator is the WinInstall LE product – looks to be defunct – I have not used it so I can’t really say how well it works, it may be worth a look.

If you are creating device driver installation scripts (.INF) there aren’t any known utilities to create these files quickly. I have seen a utility for 16bit Windows named INFEDIT.EXE before, but I’m not sure if that was open source or even available on the net (it might be part of a resource kit too). If you know of a free utility for this purpose I’d like to hear from you.

Try it out, Mikey likes it!
This small, inconspicuous utility is a winner. The IExpress utility has the power to make life easier for the administrator and even the end user – for this reason I say this utility has to be one of the cooler ones in Windows 2000. I think you should give it a try when ever you need to move files or keep installations of applications on disk. Like the boy who always loved Life-Brand cereal, I think you too will like this utility. If you’re a Windows 2000 user, you’ll want to make full use of what you have.

Not bad, I threw a few jokes in there and described one of the more un-sung utilities inside of the Windows installation. Give it a look and stay tuned for the next “Blogs of the past”.

I should also mention – in newer Windows 8 Betas, The IExpress tool is indeed included.

Here is a sampling of IEXPRESS.EXE file versions in the various iterations of Windows:

Windows XP (5.1.2600 SP3) – 6.0.2900.5512
Windows Server 2003 (5.2.3790 SP1) – 6.0.3790.1830
Windows 7 (6.1.7601 SP1) – 9.0.8112.16421
Windows Server 2008 (6.0.6002 SP2) – 9.0.8112.16421
Windows 8 Server Dev Preview (6.2.8102)  –  10.0.8102.0