0% found this document useful (0 votes)
89 views15 pages

14 StandardActions

The document provides an overview of Windows Installer (MSI) packaging, detailing the types of installations (normal, administrative, and advertised) and their respective sequences. It explains the User Interface and Execute subsequences, along with standard and custom actions involved in the installation process. Additionally, it outlines various actions for installation, uninstallation, and resource management within the MSI framework.

Uploaded by

Saran Neelam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
89 views15 pages

14 StandardActions

The document provides an overview of Windows Installer (MSI) packaging, detailing the types of installations (normal, administrative, and advertised) and their respective sequences. It explains the User Interface and Execute subsequences, along with standard and custom actions involved in the installation process. Additionally, it outlines various actions for installation, uninstallation, and resource management within the MSI framework.

Uploaded by

Saran Neelam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

For App packaging Training Contact:

+918867632827

Windows Installer (MSI) uses sequences to specify the order in which operations
are performed and the conditions under which they are performed.
Top-Level Sequences
Windows Installer supports three types of installation, called
1. Normal installation,
2. Administrative installation, and
3. Advertised installation.
Normal installation: It is the type of installation performed when the user
double-clicks an MSI database file, or runs msiexec. exe with the /i switch.
MSI double click installation :

MSIEXEC Installation:

An administrative installation: simply creates an uncompressed version of


the installation image in a specified target directory, usually a network location.
An administrator performs an administrative installation by launching
msiexec.exe with the /a switch. An administrative installation does not register
the product with the target system, in the sense that an administrative
installation creates no shortcuts, no registry data, no uninstallation entry, and so
forth.

Confidential C
For App packaging Training Contact:
+918867632827

An advertised installation installs application “entry points”—shortcuts, file-


extension information,but does not install any application data (files, registry
data, and the like) until the user invokes (Launch) one of these entry points.
Advertised installations are useful for saving disk space on the target system
until the product or specific features of it are needed. A user can advertise an
installation by passing msiexec.exe the /jm or / ju switch, indicating per-machine
and per-user advertisement, respectively.

Each of these installation types is represented by a top-level sequence.

Confidential C
For App packaging Training Contact:
+918867632827

User Interface and Execute Subsequences:


Each of the top-level sequences is divided into two subsequences, called the
User Interface (UI) sequence and the Execute sequence.

For a normal installation, these sequences are represented by the MSI database
tables InstallUISequence and InstallExecuteSequence.
InstallUISequence :

InstallExecuteSequence :

Confidential C
For App packaging Training Contact:
+918867632827

The tables used for the advertisement and administration sequences are called
AdvtUISequence, AdvtExecuteSequence, AdminUISequence, and
AdminExecuteSequence.
AdvtUISequence

AdvtExecuteSequence

AdminUISequence

Confidential C
For App packaging Training Contact:
+918867632827

AdminExecuteSequence

In the InstallShield environment, each of the subsequences is displayed in a


separate tree under the corresponding top-level sequence.
Difference Between UI Sequence and Execute Sequence :
A normal installation runs both the User Interface sequence and the Execute
sequence.
A silent installation performs only the Execute sequence, meaning that any
actions in the User Interface will be skipped for a silent installation.
Reduced-UI and basic-UI installations, such as an uninstallation launched from
the Remove button in the Add or Remove Programs panel, also skip the actions
in the User Interface sequence.
Similarly, launching an installer in test mode from the InstallShield environment
effectively runs only the User Interface sequence.

Introduction to Actions
Sequences are ordered lists of actions, where an action corresponds to one
operation performed by the installation. If you expand a sequence icon in the
Sequences tree, you can view the individual actions contained in that sequence.

Confidential C
For App packaging Training Contact:
+918867632827

Actions are two types :


1. Standard Actions
2. Custom Actions
Standard Actions: built-in actions provided by the Windows Installer service.

Confidential C
For App packaging Training Contact:
+918867632827

Standard
Action Description

PrepareDlg "PrepareDlg" dialog is showed

AppSearch performs the searches from the Search page

FindRelatedProd older or newer versions of the package are searched. If


ucts an older version is found, its Product Code is placed in
the "OLDPRODUCTS" property

LaunchCondition evaluates the launch conditions


s

CCPSearch validates that qualifying products are installed on a


system before an upgrade is performed

RMCCPSearch validates that qualifying products are installed on a


system before an upgrade is performed

Paths Resolution

determines the disk space required by the install


CostInitialize process

FileCost determines the disk space required by each file in


the Files and Folders page

CostFinalize ends the disk space costing and resolves the folders in
the project

Confidential C
For App packaging Training Contact:
+918867632827

determines the disk space required by the install


CostInitialize process

MigrateFeatureSt during an upgrade it reads the feature states in the old


ates version and then sets these feature states in the new
version.

User Selection

WelcomeDlg "WelcomDlg" dialog is showed

ResumeDlg "ResumeDlg" dialog is showed

MaintenanceWelcom "MaintenanceWelcomeDlg" dialog is showed


eDlg

PatchWelcomeDlg "PatchWelcomeDlg" dialog is showed

ProgressDlg "ProgressDlg" dialog is showed

Install Execution Stage

Searches

Standard
Action Description

AppSearch performs the searches from the Search page

FindRelatedProd older or newer versions of the package are searched. If


ucts an older version is found, its Product Code is placed in
the "OLDPRODUCTS" property

Confidential C
For App packaging Training Contact:
+918867632827

Standard
Action Description

LaunchCondition evaluates the launch conditions


s

CCPSearch validates that qualifying products are installed on a


system before an upgrade is performed

RMCCPSearch validates that qualifying products are installed on a


system before an upgrade is performed

ValidateProductI sets the ProductID property to the full product


D identifier

Paths Resolution

determines the disk space required by the install


CostInitialize process

FileCost determines the disk space required by each file in


the Files and Folders page.

IsolateComponent installs a copy of a component (commonly a shared


s DLL) into a private location for use by a specific
application (typically an .exe). This isolates the
application from other copies of the component that
may be installed to a shared location on the computer

CostFinalize ends the disk space costing and resolves the folders in
the project

SetODBCFolders checks for existing ODBC drivers on the system and


sets the target directory of each new driver to the
location of an existing driver

Confidential C
For App packaging Training Contact:
+918867632827

determines the disk space required by the install


CostInitialize process

MigrateFeatureSt during an upgrade it reads the feature states in the old


ates version and then sets these feature states in the new
version

Preparing

verifies that all volumes to which cost has been


attributed have sufficient space for the
installation. It also notifies the user if one or
more files to be overwritten or removed are
InstallValidate currently in use by an active process

RemoveExistingProd upgrades an older version of the package if one is


ucts found

InstallInitialize marks the beginning of the sequence of actions which


change the system

AllocateRegistrySpa ensures that an appropriate amount of free registry


ce space exists in the registry.

ProcessComponents registers and unregisters components, their key paths


and the component clients

Remove Resources

MsiUnpublishAssem unpublish the assemblies installed by the


blies package. Runs only during an uninstall

UnpublishComponents removes information about components published by


the package. Runs only during an uninstall

UnpublishFeatures removes selection-state and feature-component


mapping information from the system registry. Runs
only during an uninstall

Confidential C
For App packaging Training Contact:
+918867632827

MsiUnpublishAssem unpublish the assemblies installed by the


blies package. Runs only during an uninstall

StopServices stops services which use "Stop" control operations in


the package

DeleteServices removes services which use "Delete" control


operations in the package.

UnregisterComPlus removes COM+ applications from the registry. Runs


only during an uninstall

SelfUnregModules unregisters all modules which used self


registration during install. Runs only during an uninstall

UnregisterTypeLibrarie unregisters type libraries from the system. Runs only


s during an uninstall

RemoveODBC removes the ODBC data sources, translators and


drivers. Runs only during an uninstall

UnregisterFonts removes registration information about installed fonts


from the system. Runs only during an uninstall

RemoveRegistryValues removes registry entries created in the Registry page.


Runs only during an uninstall

UnregisterClassInfo manages the removal of COM class information from


the system registry. Runs only during an uninstall

UnregisterExtensionInf manages the removal of extension-related information


o from the system registry. Runs only during an uninstall

UnregisterProgIdInfo manages the unregistration of OLE ProgId information


with the system. Runs only during an uninstall

Confidential C
For App packaging Training Contact:
+918867632827

MsiUnpublishAssem unpublish the assemblies installed by the


blies package. Runs only during an uninstall

UnregisterMIMEInfo unregisters MIME-related registry information from the


system. Runs only during an uninstall

RemoveINIValues removes INI files or entries created in the Files and


Folders page. Runs only during an uninstall

RemoveShortcuts removes the shortcuts created in the Files and


Folders page. Runs only during an uninstall

RemoveEnvironmentSt modifies or removes the environment variables


rings created in the Environment page. Runs only during an
uninstall

RemoveDuplicateFiles removes files created by File Duplication operations.


Runs only during an uninstall

RemoveFiles removes the files created in the Files and Folders page.
Runs only during an uninstall

RemoveFolders removes the folders created in the Files and


Folders page. Runs only during an uninstall

Add Resources

creates the folders specified in the Files and


CreateFolders Folders page.

MoveFiles moves or copies files which use File Move operations

InstallFiles installs the files specified in the Files and Folders page

PatchFiles patches the files included in the patch package. Runs


only during a patch installation

Confidential C
For App packaging Training Contact:
+918867632827

creates the folders specified in the Files and


CreateFolders Folders page.

DuplicateFiles duplicates the files which use File


Duplication operations

BindImage binds each executable or DLL that must be bound to


the DLLs imported by it. This is not used by packages
created with Advanced Installer

CreateShortcuts creates the shortcuts specified in the Files and


Folders page

RegisterClassInfo manages the registration of COM class information


with the system

RegisterExtensionInf manages the registration of extension related


o information with the system.

RegisterProgIdInfo manages the registration of OLE ProgId information


with the system

RegisterMIMEInfo registers MIME-related registry information with the


system

WriteRegistryValues creates the registry values specified in


the Registry page

WriteINIValues creates INI files or entries specified in the Files and


Folders page

WriteEnvironmentStr creates or modifies the environment variables created


ings in the Environment page

RegisterFonts registers fonts marked for registration

Confidential C
For App packaging Training Contact:
+918867632827

creates the folders specified in the Files and


CreateFolders Folders page.

InstallODBC installs ODBC drivers, translators and data sources

RegisterTypeLibrarie registers type libraries with the system


s

SelfRegModules registers the modules which use self registration

RegisterComPlus registers COM+ applications

InstallServices installs services specified in the Services page

MsiConfigureService configures the services to be ready to start


s

StartServices starts services which use "Start" control operations in


the package

RegisterUser registers the user information with the installer to


identify the user of a product

RegisterProduct registers the product information with the installer and


with Programs and Features. Also, it caches the MSI
package

PublishComponents manages components which need to be published

MsiPublishAssemblie publishes the assemblies installed by the package


s

PublishFeatures writes each feature's state into the system registry

Confidential C
For App packaging Training Contact:
+918867632827

creates the folders specified in the Files and


CreateFolders Folders page.

PublishProduct manages the advertisement of the product information


with the system. This action publishes the product if
the product is in advertise mode or if any feature is
being installed or reinstalled

Finish Execution

runs a script containing all operations in the


InstallExec action sequence since either the start of the
ute installation or the last InstallExecute action

InstallFinali runs a script that contains all operations spooled since


ze the installation started. Also, it marks the end of the
Execute sequence

Confidential C

You might also like