Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

2.explain The Difference Between Property and PROPERTY?

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

1.What are the ADDLOCAL and ADDSOURCE properties?

ADDLOCAL:  It will install the components (file resources) associated with the feature locally on the
client the package is installed on.

ADDSOURCE:  The files will be “installed” on the source meaning where the MSI is originally located.
There will actually not be any installation of files into the folder but they must exists as “external
uncompressed”.

2.Explain the difference between Property and PROPERTY?

Property: Private Properties in MSI (Properties that cannot be changed during runtime).

PROPERTY: Public Properties (Properties that can be changed during runtime).

3.Use of INSTALLLEVEL Property?

The INSTALLLEVEL property is the initial level at which features are selected “ON” for
installation by default. A feature is installed only if the value in the Level field of the Feature
table is less than or equal to the current INSTALLLEVEL value. The installation level for
any installation is specified by the INSTALLLEVEL property, and can be an integral from 1
to 32,767.

 4.What is the difference between Repair and 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.

Repair of an MSI can be triggered by

Repair button in Add/Remove programs

Giving the command line msiexec /f{other option} {MSI name}

Self Heal by advertised shortcut or other advertising information

Active setup

Once the repair of the package is triggered, even with Self Heal, then the whole of the MSI is
reinstalled. Then it does not see that only the feature which triggered the self heal should be
repaired, but the whole MSI, by which I mean, all its features are reinstalled.
 5.Custom Action conditions:

Requirement Condition
Action runs only during install NOT Installed AND NOT PATCH
Action only runs during removal of MSI REMOVE~=”ALL”
Action runs during install and reinstall only NOT REMOVE
Action runs during install and remove There must be no condition
 6.Product code, Package Code and Upgrade code?

Product Code:

This code should only be changed if significant changes are made to the application –
changes that warrant calling it a different product.

You change the product code when:

The name of the .MSI file has been changed.

The component code of an existing component has changed.

A component has been removed from an existing feature.

An existing feature has been made into a child of an existing feature.

An existing child feature has been removed from its parent feature.

Note that adding a new feature (top level or child), consisting entirely of new components,
does not require changing the product code.

Package Code:

As the name implies, the package code identifies a specific MSI file. I want to emphasize: not
a product, but an MSI file. No two MSI files that are not identical copies of each other should
ever have the same package code, even if they install (different versions of) the same product.
To change the package code, go to the Summary Information Stream panel, put the cursor in
the Package Code field, and press the “Generate GUID” button in the lower part of the
screen.

Upgrade Code:

All applications in a product family shared the same upgrade code. Such a group of related
applications can consist of different versions and different language versions of the same
product. You should never change this code, unless you want to prevent major upgrades.

 Summary
When to change the package, product and upgrade codes, and the product version.
Update Type    Package Code      Product Version      Product Code       Upgrade Code
Small update        change               don’t change           don’t change        don’t change
Minor update       change                   change                 don’t change        don’t change
Major upgrade     change                   change                    change                don’t change

 7.Difference between Run, Run Once, Active Setup

Active Setup:

It is used when your application requires installation of components such as files or registry
keys on a per-user basis, but application has no advertised entry points or other triggers to
initiate the installation process.

Run:

The Run key is processed after every logon, either by the Explorer shell, if it is present, or by
First Boot Agent (FBA), if a custom shell, Command shell, or Task Manager Shell is used. If
FBA processes this key, it does so after every logon, not during first boot as it normally
would. Typically, this flag is used to load Systray applications, launch services in
executables, hide autostart applications, or hide background processes

Run Once:

The RunOnce key is processed only once, by FBA, after Plug and Play device enumeration
and DLL registration processing have completed. The values of this registry key are deleted
from the registry after it is processed, so that it will not run again. Typically, this flag is used
when a reboot is required, such as for a DLL or OCX registration, or for cleaning up a setup
or an uninstall.

1.How do I make sure a complete uninstallation using a command


Use the property REMOVE
Eg: msiexec /x package.msi REMOVE =”ALL” /qb
2. How to set a property to an environment variable?
Use custom action of type 51 PropertyName and target [%EnvVarName] Eg: APP_PATH =[%PATH]
3.How to create an Internet (URL) Shortcut?
1.Create a URL file on your development computer and add this to a component.
2.Create a shortcut to point to this file.
The content of the .url can be like this:
[InternetShortcut]
URL=http://www.google.com
4. What are the limits for a large MSI package?
Reference: Windows Installer Team blog
There are a couple of limits that you may hit when authoring a large, complex MSI package.
Total number of files
If your Windows Installer package contains more than 32767 files, you must change the schema of
the database to increase the limit of the following columns: the Sequence column of the File table,
the LastSequence column of the Media table, and the Sequence column of the Patch table. Note that
transforms and patches cannot be created between two packages with different column types.
Total number of components
The maximum number of rows for the Component table is 65536.
This limit was discovered by Danish Waheed and posted on the WiX users mailing list. It has been
confirmed by a Microsoft employee but hasn’t been officially documented yet.
Number of components per feature
There is a maximum limit of 1600 components per feature using Windows NT/Windows 2000 and a
maximum limit of 800 components per feature using Windows 95 and Windows 98. There will be a
ICE47 validation warning if your package is above this limit.
Depth of Feature tree
There is a maximum limit of 16 for the depth of the feature tree. If you exeed this limit you get a
runtime error message “2701. The Component table exceeds the acceptable tree depth of 16 levels.”
which is a bit misleading because the limit actually applyies to the Feature tree, not the Component
tree (in my understanding there is no component tree in MSI). In a test with a feature tree 20 levels
deep msiexec.exe even crashed instead of displaying an error message.
This limit has been reported by Danish Waheed on the WiX users mailing list. It doesn’t seem to be
officially documented.
Number of disks or CAB files
For each disk or CAB file one row must be added to the Media table. Windows Installer packages are
limited to a maximum of 80 Media table entries when installed using Windows Installer prior to
version 2.0. The restriction of 80 Media table entries was removed with Windows Installer version
2.0.
Limits of the CAB file format
The only compressed file type supported natively by Windows Installer is the Cabinet (CAB) format.
The following limits apply to this file format.
No one file in a CAB can exceed 2GB
Maximum size of all files in one folder (compressed) 2GB
Maximum size of a CAB file (compressed) 2GB
Maximum number of files in a single CAB 64K
You can avoid these limits by splitting your setup into multiple CABs, possibly up to 64K * 2GB, or by
placing your application files on the distribution disk uncompressed.

You might also like