MSI Installer - Automation

The Microsoft® Windows® Installer (free) is mostly driven by tables.
These tables can be exported into text files, or imported from Tab delimited text files.
Thus the setup process of your products is greatly facilitated.

You can create this tables on the fly and import them in the MSI, then create the DDF files that will in their turn create the CAB files.
This means you can automate the packaging of your products by creating on the fly the tables that will change for each packaging.
To import the table use MsiDb.exe (provided with the Windows installer SDK).
To validate the packages use Orca or Msival2.exe (both are provided with the Windows installer SDK).
The .cub file darice.cub is also provided with the SDK.
This file contains the ICE (Internal Consistency Evaluators) custom actions needed by Msival2.exe to perform validation.

See more discussions and posts about MSI:
Replacing Non-versioned Files User Data with companion files
New tools to Import VBS JPG - Unable to place file in stream - MSIDB
MSM Validation - ATL.MSM - Documentation
Remove registry info entries for all users in system or just current owner
ARPPRODUCTICON OK for XP not for W2K Add/Remove Programs
Msidb Command Line Folder Path MSI name limitations
Do NOT Associate Extension set flag file types as No Open in Verb Table
Property for All Users Shared Documents or CA?
File Hidden Attribute after installation - Source in CAB files
260 characters limit in shortcut's targets Windows not MSI/Setup Limitation

Example of a Welcome dialog box:
MSI Setup Welcome Frame\

A partial or complete application reinstallation might be required if any files or registry entries associated with any feature have become corrupted or are missing. See more MSI dialogs...

Consider about 3 types of MSI tables:

Developing the code to create this tables on the fly may take some time... but you will be satisfied of your efforts when you see you can package your product in less than 5 minutes.

Localizing a Microsoft® Windows® Installer package requires modifying the strings displayed by the user interface and may also require adding or modifying product resources. For example, localization may include the addition of international DLLs and localized files to the product.

This is how your DDF files to create all the necesary CAB files may look like:

.Option EXPLICIT
.Set Cabinet = off
.Set Compress = off
.Set MaxDiskSize = CDROM
.Set ReservePerCabinetSize = 6144
.Set DiskDirectoryTemplate = "D:\Development\dscan_code\Installation\MSI\DSCAN\English\Disk1"
.Set CompressionType = MSZIP
.Set CompressionLevel = 7
.Set CompressionMemory = 21
.Set CabinetNameTemplate = "NUCLEU~1.CAB"
.Set Cabinet=on
.Set Compress=on
"D:\Schneider\Development\dscan_code\Installation\MSI\SETUP\DSCAN\English\Install\Nucleus\4_others.xyz" "F40_4_others.xyz"
.....
....
...
..
.

This is how your batch file to create all the necesary CAB files may look like:

@echo off
ECHO Use this PackageDscan batch file to make new cab files.
ECHO DDF file names are not limited in length.
ECHO CAB file names must not be over 8 characters
ECHO Press CTRL-C to cancel.
Pause
del "D:\dgschnei\CD\Portfolio\Development\dscan_code\Installation\MSI\DSCAN\English\Disk1\*.CAB" "MAKECAB.EXE" /f "D:\dgschnei\CD\Portfolio\Development\dscan_code\Installation\MSI\DSCAN\English\DDF\BIN_1.ddf"
.....
....
...
..
.

Task Manager

MSIEXEC's Normal behavior is to launch multiple instances of itself; during a normal install you can expect to see 6-7 different instances of it; usually no more than 3 or 4 concurrently.

For more information:
Importing VBS JPG - Unable to place file in stream, Replacing Non-versioned Files - User Data, ProgID table produces error during run time - Validation, Remove registry info entries for all users in system or just owner?, MSM Validation - ATL.MSM, and more... see my posts with ContactEZ.net on group:microsoft.public.platformsdk.msi

Windows Installer (Microsoft)

Tek-Tips Forums member name dgschnei

Some keywords you can use to search topics: instmsiW.exe, orca, Msival2, darice

Return Home - Index

About me and my activities since 1995 - Developing solutions that really help - No gimmicks
Participation on Google
Participation on Yahoo!

Tek-Tips Forums dgschnei
Listed since 1996 ixquick
International Services Vivísimo

platform sdk dgschnei
Cooperation on Google
About Me
Gifts Home Decoration

Tek-Tips Forums, and platform sdk (member name dgschnei).