Project 2000. Windows Installer, страница 9

5.  After the database install is complete, control is returned to MSIINST. If an administrator ran the install, the service registered to the temporary folder is stopped. MSIINST waits up to 30 seconds for the service to complete its operation, and then returns control to INSTMSI.

6.  INSTMSI then cleans up any files that are not in use, deletes MSIINST.EXE, and exits.

Note

INSTMSI and COPYMSI are only available on Windows 2000 during the betas and for development purposes. The Windows installer comes pre-installed on these computers, and will only be updated by service packs.

Overview of Windows Installer (MSIEXEC.EXE)

As mentioned previously, Windows Installer is a service of the operating system that allows it to take over the installation process. Windows Installer consists of two parts:

1.  MSIEXEC.EXE – a client-side installer service that controls the installation process

2.  MSI Package File – contains information used by Windows Installer to install Project. It is similar in function to the STF file found in ACME setup.

MSIEXEC.EXE
The MSIEXEC.EXE program is the main component of the Windows installer. When called by SETUP.EXE, MSIEXEC.EXE uses the dynamic link library, MSI.DLL, to read the windows installer package (MSI file), apply the Windows installer transform (MST file), incorporate command-line options supplied by SETUP.EXE and install Office applications.

Warning!

Never run MSIEXEC.EXE directly. Instead SETUP.EXE should be used to invoke MSIEXEC.EXE. Running SETUP.EXE ensures that all system verifications are performed.


MSI Package File

The Window Installer database (.MSI file) consists of many interrelated tables that together comprise a relational database of the information necessary to install a group of features. This database replaces the ACME Setup STF and INF text files as the key components for installing applications. Because the database is relational, changes made to one table are propagated automatically throughout the database. This is a very efficient process for introducing consistent changes into the installation process and means that users can more easily customize a large application or group of applications. The database tables reflect the general layout of the entire group of applications, including:

n  Available features

n  Components

n  Relationships between features and components

n  Necessary registry settings

n  User interface for the application

To create an installation database, program developers must populate the tables with all the information about the applications and the installation process. Even though these files are considered relational databases, it is not possible to open or modify these databases with tools such as Microsoft Access or Microsoft® SQL Server. Manually authoring all these tables is a large task even for a moderate size installation. Microsoft Technical Support does not support the modification of the MSI package File.

The Microsoft Window Installer SDK is available to programmers and contains database creator/editor tools.

For more information on the general scheme of the installer database, see the Microsoft Project 2000 Resource Kit.


Transforms

While the MSI Package could theoretically be changed to customize an installation, the amount of work to do so prohibits it. Instead, the installation process can be manipulated by applying transforms (.MST) to the MSI Package. A transform makes changes to some of the elements of the MSI Package, such as changing the language in the user interface of an application.

It is important to note that the installer does not change the .MSI package itself, but only temporarily applies the changes from the transform in memory before executing the package instructions. A transform is typically much smaller than the package, so you can easily create multiple custom installations by creating multiple transforms to use with the default package.