Frequently Asked Questions About Windows Installer
Frequently Asked Questions About Windows Installer
A. Windows Installer is a system service for installing and managing applications. It provides a standard
method for developing, customizing, installing, and updating applications.
Transactional operations. All installation operations are transactional. For each operation that
Windows Installer performs, it generates an equivalent undo operation that would undo the change
made to the system. If a failure occurs during the middle of an installation, Windows Installer can roll
back the machine to its original state.
Self-healing. Windows Installer supports "self-healing" abilities for applications. Applications can
detect common installation problems at launch, like missing files or registry keys, and automatically
repair themselves.
Installation on demand. Windows Installer supports on-demand installations of application
features. For example, the spelling checker in Microsoft Office Word may not be installed by default,
but a user can trigger an on-demand installation of this feature.
Installation in locked-down environments. In fully locked-down environments, users don't
generally have permission or the ability to install applications. In most cases, they don't have write-
access to the Program Files folder of their computers or to the HKEY_LOCAL_MACHINE registry
location. If an administrator approves an installation package by means of Group Policy, for instance,
Windows Installer can perform an installation on the user's behalf.
State management. Windows Installer provides a set of standard Win32® application
programming interfaces (APIs) and automation interfaces for applications and administrators to use for
querying the installation state on the machine. The APIs allow querying of the current state, verification
of the existing state, repair of a corrupted state, and transition from one state to another.
Where {path} is the location of the folder where MSI and MST are kept.
Q. What are the differences between small, minor, and major updates?
A. A small update is a product update that changes a few files or possibly adds some new content. A
minor update is a product update that makes enough changes to warrant changing the product version for
the product, whereas a major update is a product update with a large number of changes that warrants a
change in the product code.
It's sometimes easier to think of a small update as a "hotfix" or Quick Fix Engineering (QFE) update, a
minor update as a service pack, and a major update as a product upgrade.
Small and minor updates can be considered almost equal in that the only real difference is that a minor
update has a change to the ProductVersion whereas a small update does not. The rules that they follow
and application of the patch are the same. Application of small and minor update patches requires explicit
reinstallations. Major updates are not subject to that limitation and a reinstallation is not required for patch
application. Additionally small and minor update patches are limited in the changes that can be made to
the feature-component structure for the package. Significant changes can be made to the feature-
component structure in the scope of a major update.
Q. What is Advertisement?
A. Windows Installer can advertise a product rather than actually installing it. The product will appear
installed to the user, but it will not actually be installed until it is run for the first time (by means of a Start
menu shortcut, by opening a document that the product is configured to handle, or by invoking an
advertised COM class).
Q. Why does the package go for Self Healing first time the user launches the Application?
A. If the package is containing some HKCU entries then the package will always go for self healing for the
first time. This happens because the HKCU keys are only installed for the current user present while
installing the package and not all the users as it is the property of the HKCU. So, if other user logs in then
there is a mismatch between the current system state and the value specified in the MSI package (e.g., a
key file is missing), then the related feature is re-installed. This is called the Self Healing.
Self Heal and Repair are two different concepts in Windows Installer which people many times consider to
be the same thing, however there is difference in these two.
Self Heal is triggered by advertised shortcuts, or other advertising information in the package which
eventually Repairs the application.
When the application is launched by advertised shortcut, it checks for all the key paths of the Current
Feature, if any of the key paths is missing it will launch Repair.
Note that if there are multiple features then it will not check the missing key paths of the other features,
but only the feature of which the advertised shortcut is launched.
Often we come across a situation where we need to see the Operating system bit information and then
install application or do any customization. Here is a script which I use for this purpose:
'===============================================================
'===============================================================
'To check whether the OS is 32 bit or 64 bit of Windows 7
'===============================================================
strKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"
strValueName = "Identifier"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
'===============================================================
if (instr(strValue,"64")) then
if (instr(strValue,"x86")) then