Internet Express Overview


Introduction

Cabinets (known as CAB files) are used to package groups of files into a single, compressed archive for distribution.  Files in the cabinets must be extracted using a program such as EXTRACT.EXE, that comes with Windows 95/98/ME.

Once extracted, these files must be installed using a setup program such as ACME setup.  After the files have been installed, they must be manually deleted by the user.

There are three problems with this procedure:

  1. There is a dependence on an external extractor such as EXTRACT.EXE.
  2. A setup program must be manually executed in order to install the files.
  3. The files must be manually deleted from the system.

For these reasons a new process, referred to as IExpress, has been created.  This process remedies the above problems by providing the following solutions:

  1. Extraction is built into the cabinet.  In fact, the cabinet is an executable that, when run, extracts the files automatically.
  2. A setup program is executed automatically after extraction takes place.  The setup program can be an EXE file within the cabinet, an INF file within the Cabinet (in which case a GenInstall is executed on it) or some other command specified by the package maintainer.
  3. The extracted files are automatically removed from the user's system after installation has finished.

These attributes make IExpress an ideal solution for providing programs over the Internet.


Package Creation

There are three components that a package maintainer should be familiar with:

Makecab.exe
A Microsoft compression program that creates Cabinet files.
IExpress.exe
A Wizard that gathers information about the self-extracting archive, then packages it all together.
Wextract.exe
The extractor that handles the process of extracting, installing and cleaning up the Cabinet files on the user's system.

The steps to building a self-extracting/self-installing cabinet are:

  1. Install IExpress from the Web Site.
  2. Create an INF file is needed for the installation.
  3. Run IExpress.exe and create your package.

The wizard explains things at each step so the basics will not be covered here; however, there are some finer details which require some attention.


Command Line Arguments

You can specify the name of a IExpress Directive File to load on the command line.

Eg. IExpress c:\packages\myfile.cdf

This inserts the filename into the edit box on the first page.  It does not open the file, or create the package.  If you want to create the package right away without going through the wizard, then specify the "/n" (NOW) argument:

Eg. IExpress c:\packages\myfile.cdf /n

This tells IExpress to build the package right away and return to the command prompt when done.  If an error occurs during package creation, then a message box will pop up and wait for you to press the OK button.  If the package was created successfully, IExpress will return 0.  If an error occurred, IExpress will return 1.


IExpress Switches

MS TechNet: IExpress Switches

The following table identifies frequently used IExpress switches that control the extraction process during the setup. These switches are not specific to Internet Explorer.

IExpress switchDescription

/Q

Specifies that the installation will run in quiet mode. Does not prompt on errors. Useful for automated build processes.

/QU

Specifies that the installation will run in user-quiet mode, which presents some dialog boxes to users.

/QA

Specifies that the installation will run in administrator-quiet mode, which does not present any dialog boxes to users.

/C:<>

Specifies the path and name of the Setup.inf or .exe file that the setup program will use.

/R:N

Specifies that the setup program will never restart the computers after installation.

/R:A

Specifies that the setup program will always restart the computers after installation.

/R:S

Specifies that the setup program will restart the computers after installation without prompting users.

/T:<directory path>

Specifies the target folder that the setup program will use for extracting files.

Examples of Command-Line Switches

The following scenarios provide examples of how to use command-line switches:

The following command line runs the third installation option: 

IE6Setup.exe /C:"ie6wzd /S:""#e"" /M:2"

The following command line performs an installation in quiet mode. It does not prompt users, and their computers are not restarted after the installation: 

IE6Setup.exe /C:"ie6wzd /S:""#e"" /Q /R:N"

Tip:  You should use START /W IEXPRESS <app.cdf> /N /Q when doing automated builds of packages.



Installation File Page

When you are choosing an installation command, you must make sure it does not run in the background (ie. return to the command line before it has finished processing the files).  This is because WExtract will delete all the files that were extracted as soon as the installation program returns, even though the program might still be running.

If you use the Windows 95/98/ME "Start" command in your custom install command, then be sure to specify the "/w" parameter so it knows to wait for the process to finish before returning.  Eg. "Start /w winword readme.doc"

If using InstallShield you should use SETUP.EXE -SMS when using it inside a IExpress package.

If you choose to install with an INF file, then it must follow the same basic outline as the SAMPLE.INF found in the WExtract tools dir; specifically, it should have a heading "[DefaultInstall]" which lists the steps required to perform an installation.


Show Window Page

You should almost always use the "Default" show window attribute. The only time you should use the "Hidden" attribute is to hide a DOS command that starts Windows programs.  This can occur if you use the "Start" command or run a DOS batch file that calls Windows programs.



IExpress Error Messages

This is a list of IExpress error and completion return messages:

1000 IExpress Wizard
1001 MS Serif
1002 Are you sure you want to quit the IExpress Wizard?
1050 Returning to the Welcome page will reset all the changes you have made. Are you sure you want to continue?
1052 Auto-generated Diamond Directive File. Can be deleted without harm.

1053 Creating CAB file. Please wait...

1054 Creating the package...

1055 Error creating Cabinet.

1056 Error creating Package.

1057 Error writing Self Extraction Directive file.

1058 Done!

1059 IExpress Self Extraction Directive file (*.sed) *.SED All Files (*.*) *.*
1060 Text Files (*.txt) *.TXT All Files (*.*) *.*
1061 All Files (*.*) *.*
1062 Executable Files (*.exe) *.EXE All Files (*.*) *.*
1070 Filename
1071 Path
1074 Files will be expanded to a temporary folder. The files will then be used by the specified installation program.
1075 Files will be expanded to a folder specified by the user. These files can later be used by the client when installing a component such as a printer or video driver.
1076 Files will be compressed into a cabinet file (CAB). Self-extracting functionality will not be included.
1077 Compressed Cabinet File (*.cab) *.CAB All Files (*.*) *.*
1078 INF Files (*.inf) *.INF All Files (*.*) *.*
1100 There is not enough memory to continue. Quit one or more programs and try again.
1101 The IExpress Self Extraction Directive file (SED) you specified does not exist. To create a new one, select Create New Self Extraction Directive file.
1102 You must specify a package title.
1103 You must specify a Prompt unless you select 'No prompt'
1104 You must specify a license file unless you select No License.
1105 The license file you specified does not exist.
1106 A file with the name '%s' already exists in the list.
1107 You must add some files to the package.
1108 You must select one of the files, or Enter your own command.
1109 You must enter a custom command or select a file from the list.
1110 You must specify a finished message unless you select No Message.
1111 You must specify a target filename.
1114 You must specify a filename to save or select Don't Save.
1115 Could not create the target file '%s'. %s
1116 Unable to begin resource update of '%s'.
1117 Unable to update resource.
1118 Unable to end update of resources.
1119 Error opening the IExpress Self Extraction Directive file.
1121 Error reading from the IExpress Self Extraction Directive file. %s is not complete localizable defines. Do you want to continue?
1122 Error opening the MakeCAB Directive File.
1123 Error writing to the MakeCAB Directive File.
1126 Unable to open the Report file '%s'.
1127 Unable to read from the Report file '%s'.
1128 Unable to open the License file '%s'.
1129 Unable to read from the License file '%s'.
1130 Unable to open the Cabinet file '%s'.
1131 Unable to read from the Cabinet file '%s'.
1132 Unable to start command '%s'. Error: %s.
1133 Unable to find %s. Please make sure it is in the path or the same folder as IExpress.exe.
1134 Unable to find %s. Please check your packaged file list.
1135 Unable to convert long path to short path.
1137 Unable to update the version information.
1138 Command syntax is incorrect!

Options: [/N [/Q] [/M]] <SED filename> [/O:overide SEDfilename,OverideSectionName]

/N: Build package now (SED Filename must be specified)
/Q: Quiet mode when using /N
/M: Use minimized windows when using /N
1139 The SED file: %s exists. Do you want to overwrite it?
1140 The Key: %s is not defined in SED file Strings section. Do you want to continue?
1141 The SED file class name is not valid. Please verify it with the IExpress specification.
1142 There is no SourceFiles specified in your SED. Please check your SED and run again.
1143 This box should be left unchecked if the package is to be run on Windows 95 and you will be using an INF file during installation. Do you still want to continue?
1144 lwrite() failed when trying to write %lu bytes.
System Error: %s
1145 Could not format the system error message on Win32 error code ( %lu ).
1146 You cannot use a long filename for the CAB file. Please use a 8.3 name for your target cabinet name.
1147 Error: SetFileAttributes() failed on file: '%s'.
1148 Invalid SED File. Missing SEDVersion key. Use the wizard to generate a valid SED file.
1149 Invalid SED file format for this version of Windows. Use the wizard to generate a valid SED file.
1151 The Correct SED key to check Multiple instances is: MultiInstanceCheck=P or B,"cookie string". Please verify your SED file and try again.
1152 The '%s' is not a valid FLAG field for the target version check in SED file. It should be one of the following : OK, Ok/Cancel, or Yes/No.
1153 SED syntax error in TargetFileVersion= line.
1154 The string defined for %s is too long. The max length for this string is %s characters.
1155 The folder '%s' does not exist. Do you want to create it?
1156 Can not create the folder '%s'.