Vous êtes sur la page 1sur 22

-------------

Application Packaging Real Time Interview Questions And Answers

------------------

pplication Packaging?

of creating an installer for an application is called application packaging. Usually in it binary files provided by developers are package
Main difference between packaging and re-packaging is that the source files does not come in the form of package in packaging wher
ey come in a form of a package, which might be MSI or legacy package (such as executable, batch files, etc).

pplication Repackaging?

ging (Customized Installation) is the process of capturing the changes made by an Installation Program (Package) and it is customized
dards and distribution methods.
sary to do setup capture to call it repackaging, even creating must files or is files can be called application repackaging.

the steps of Repackaging?

packaging requirements (User Requirement Review).


vendor package (Tech Review).
the application (Setup capture).
he package (Scripting).
ckage (Testing & UAT).
package to end users (Deployment).

ckaging is required & what are the problems in Legacy Installation?

n reasons for Re-packaging are as follows

Installation.
port Costs.

liency.
Install.

s with Legacy Installations.

rt Costs.
alls & uninstalls.
abor Intensive to deploy.
MSI Packaging tools?

ndows Installer.
ge Studio.
d.
er.

not be used for re-packaging).


op.
o.
MSI Re-Packaging tools?

ge Studio
d
er

Deployment tools?

t Management Suite
cation Server Console
ystems Management Server (SMS)

indows Installer?

aller (previously known as Microsoft Installer) is a built-in Operating System service for Installing and Managing Applications. It provide
veloping, customizing, installing and updating applications. It is an engine for the installation, maintenance, and removal of software on
dows systems. The installation information, and often the files themselves, are packaged in installation packages, loosely relational data
OLE COM Structured Storages and commonly known as MSI files, from their default file extension. Windows Installer contains signific
cessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. It is positioned as a
e executable installer frameworks such as older versions of InstallShield and Wise Package Studio (later versions of both supports Windo

f the Windows Installer?

on Demand
-healing)
ansactional operations)
hared Resources

allation Mechanism (Background Mechanism)?

The Installer first installs the feature and then progresses through the actions specified in the sequence tables of the installation databa
the installation database and generate a script that gives a step-by-step procedure for performing the installation.

he installer passes the information to a process with elevated privileges and runs the script.

an installation is unsuccessful, the installer restores the original state of the computer. When the installer processes the installation scrip
y generates a rollback script. In addition to the rollback script, the installer saves a copy of every file it deletes during the installation. T
en,system directory. Once the installation is complete, the rollback script and the saved files are deleted.

a MSI?

oft Windows Installer. It is an installation, in the form of a single file. It is actually a database that contains several tables (80+). Each
s instructions and set-up information.

e of MSI?

ollection of Features)
ollection of Components)
s (Collection of files and Registries)

Product?

lled, working program (or set of programs) is a product. A product is identified by a unique GUID (the ProductCode property). A produc
ckage: a single MSI package might install multiple different products. For example, an MSI might install French and English versions of a
is a different product.

Feature?

buckets for Components. Windows Installer configuration commands operate only on Features (installing, advertising, Uninstalling). Self
mand and user profile fix-up operate at the Feature level.

Component?

are collections of resources that are always installed or removed as a unit from a user's system. A resource can be a file, registry key, s
that may be installed. Every component is assigned a unique component code GUID.

self-healing?

-based application is launched (by clicking on an advertised shortcut or file type association), Windows Installer checks the existence of
e is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file or registry is missing), the
stalled. This process is also known as self-healing or self-repair.

he difference between Self-Healing and Repair?

Repair are two different concepts in Windows Installer which people many times consider to be the same thing however there is differe

ggered by advertised shortcuts, or other advertising information in the package which eventually Repairs the application.

lication 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 wi

ere are multiple features then it will not check the missing key paths of the other features, but only the feature of which the advertised

MSI can be triggered by

on in Add/Remove programs
ommand line msiexec /f{other option} {MSI name}
y advertised shortcut or other advertising information
p

ir 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 w
self heal should be repaired, but the whole MSI, by which I mean, all its features are reinstalled.

Registry, Tell the Structure & types of Registry?

s a single place for storing information about the Windows OS (Hardware & Software)
Subtrees

stry keys

ecific (HKCR, HKLM, HKCC, HKU)


ic (HKCU, HKU)

stry Root keys

S_ROOT (HKCR)
AL_MACHINE (HKLM)
RENT_CONFIG (HKCC)
RENT_USER (HKCU)
RS (HKU)

e Shortcuts & Types?

the entry points to the applications installed on the system which is normally points to a file:

(File should be Installed by the Application).


sed (File that is not part of Installation. It is also called Command Line shortcuts).

e INI File & its format?

lain-text files that contain configuration information. "INI" stands for

ue.

e Services & its types?

rvice is a background process which is loaded by the Service Control Manager of the OS.

ice (Win32 services are the services which is running by the executable file installed by the Application).
Kernel Services (Kernel services are the services which are used by the OS to communicate to the hardware devices).
Service information stored?

ervice information are stored under the windows registry hive HKLM\System\CurrentControlSet\Name of the Service

SI, which tables contain information about the service details?

all (Service Details)


trol (Controlling the service during Installation & Un Installation)

ODBC & DSN and its types?

Open Database Connectivity. The purpose of ODBC is to allow the user to access data from any application. The layer between the appl
ed DSN.
N (DSN will be available for all users)
DSN will be available for that particular user)

File Association?

operating system recognizes file types and associates them with programs based on their file extension. A file that carries no extension
ogram is called Orphaned.

Environment Variable & its types?

Variables are the variables that are set by the Operating System & Application.
iable (Available for all users)
le (Available for that particular user)

Property & types of Properties, give some Examples?


global variables that the Microsoft Windows Installer uses during an installation.

installer can be use only internally (values cant be changed during the run time).

ProductCode, ProductID, ProductName, ProductVersion

nstaller can be uses both internally & externally (values can be changed during the run time also).

L, .

ublic: The user cant change the value both internally & externally due to security purposes. ALLUSERS, REBOOT, REINSTALLMODE

Merge Module?

s are a mechanism in Windows Installer that allows companies to prepackage and share standard component definitions. Merge module
code, files, resources, registry entries and setup logic to applications as a single compound file.

w Merge Module tables?

ature,
ponents,
ndency,
sion,
re,
titution,
nUISequence,
nExecuteSequence,
guration,
UISequence,
ExecuteSequence,
llUISequence,
llExecuteSequence.

e Background mechanism of Merge Module?

number of applications that require a specifically configured component, it would be possible to create a merge module that installs and
t component. That merge module could then be added to the installation packages of each product that required that particular compon

e effort of having to individually add the necessary files, registry entries, and other components to every installation. It also saves time
stead of updating the installations for all five applications, only the merge module is updated, and the installations only need to be rebu

ive Permission for files, folders & Registry keys in MSI?

e can give permissions through Lock Permission table. But using subinacl.exe custom action is the best way to set permissions.

ive Permission for files, folders & Registry keys through VB Script & what is the syntax?

ermission for files & folders through VB Script by using the CACLS & XCACLS commands.

only run on NTFS partitions.


nges Access Control ListS
ame> [/T] [/E] [/C] [/G user: perm] [/R user [...]] [/P user: perm [...]]

CLs of specified files in the current directory and subdirectories


stead of replacing it
gnore) access denied errors
where access rights granted can be: R C F (read, change, full control)
e specified user's access rights (only valid with /E)
Replace specified user's access rights. Permission can be: N R C F (none, read, change, full control)
specified user access
\myfile.txt /E /G <user name>: F

nstall only one particular feature during the Installation through Command line?

msi> ADDLOCAL=<Feature Name>


isable ARP (Add/Remove Programs) Details during the Insallation through Command line, tell some ARP properties?

msi> ARPSYSTEMCOMPONENT=1
ies are various ARP properties

RIZEDCDFPREFIX
ENTS
CT
LLOCATION
DIFY
OVE
AIR
CTICON
E

MCOMPONENT
OABOUT
DATEINFO

Advertisement?

, the Availability of an application to users or others with out actually the full Installation. There are two types of Advertising

n appears (shortcuts, files & registries) to a user or others, when an Application is assigned. When the user tries to open, it is
demand.
:

ts appear to a user or others, when an Application published to the group. It is activated only if the group Application activates the pu
. Installation on Demand.

Advertised Feature & Component?

r Component is advertised, only the interfaces required for loading and launching the application are installed to the user or others. If a
dvertised interface the installer then proceeds to install the necessary Components & Features.

Installation on Demand?

or application activates an advertised feature or product, the installer proceeds with installation of the needed components.

Transform?
a windows installer file with the extension (.MST). It should be used along with a MSI to customize or change the installation package
MSI. The installer can only apply transforms during an installation.

e the types of Transform?

d transform
nsforms are stored inside the .msi file of the package.

ransform
forms are stored locally on the user's computer in a location where, on a secure file system, the user does not have write access. Such
this location during the installation or advertisement of the package. During subsequent installation-on-demand or maintenance installa
nstaller uses the cached transforms.

d transform
at have not been secured are called unsecured transforms. To apply an unsecured transform, pass the transform file names in the TRAN
mmand line string during the installation.

reate Transform in Wise / Install Shield?

ge Studio, by using Install Tailor or New Project ? other templates ?


Install Shield Admin Studio, by using the New Project ? Transform

ny Transform can be created for one Vendor MSI?

striction on the numbers of transforms which can be created for one Vendor MSI.

ny Transforms can be supplied in the Command line?

striction on the numbers of transforms which can be supplied in the command line .

Custom Action?

Windows Installer provides many built-in actions for performing the installation process. For some cases the developer writes an action
ation is called custom action.

e the types of Custom Actions?

ed in a Binary table stream


is installed with a product
ed in a Binary table stream
is installed with a product
pecified error message and returns failure, terminating the installation
ing a path specified by a property value
ing a path referencing a directory
tored in a Binary table stream
hat is installed with a product
specified by a property value
stored in this sequence table
stored in a Binary table stream

that is installed with a product


xt specified by a property value
xt stored in this sequence table
with formatted text
t with formatted text
of a package nested inside of the first package. See Nested Installation Actions
of a package that resides in the first applications source tree. See Nested Installation

of an application that is advertised or already installed. See Nested Installation Actions.

e the types of Sequences in the Custom Actions?

r Interface
cute Immediate / Deferred
ve User Interface
ve Execute Immediate / Deferred

e the types of Conditions in the Custom Actions and what is the use?

d - During Installation only


uring Un Installation only
E - During both Install & Un Install

e the types of In Script options in the Custom Actions?

e Execution
stom actions, can be sequenced anywhere within any of the sequence tables. It has access to the installation database (read & set insta
odify feature & component states, add temporary columns, rows, and tables).

Execution User Context


om actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesnt have a
tabase. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The
ocessed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User doesnt have the elevated pri
ns make changes in the system directly), the custom actions should run in Deferred Execution in User Context only.

only
ould be executed during the Installation of the Rollback script or if the Installation is Unsuccessful.

nly
ould be executed during the Installation of the Commit script.

Execution System Context

om actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesnt have a
tabase. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The
ocessed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User have the elevated privileges
changes in the system directly), then it should run in Deferred Execution in System Context only.

he difference between Immediate Execute / Deferred Execute?

custom actions, can be sequenced anywhere within any of the sequence tables
stom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables
custom actions have access to the Installation database
stom actions doesnt have access to the Installation database
custom actions can only run in the User Context

stom actions can run both in the context of the user and elevated using the system context.

he difference between Deferred in System Context / Deferred in User Context?

m action which installs or modify a file under the INSTALLDIR or Installation should be run in Deferred in User Context.
m action which installs or modify the system file directly should be run in Deferred Execution in System Context.

e the types of Processing Options in the Custom Actions and what is the use?

us: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete success
e main installation.

us, ignore exit code: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to
uing the main installation; the action can be either success or fail.

ait at end of sequence: Windows Installer runs the custom action simultaneously with the main installation. At the end it waits for the e
tion before continuing.

o wait: Windows Installer runs the custom action simultaneously with the main installation. It doesnt wait for completion of the custom
the exit code also.

e the types of Scheduling Options in the Custom Actions and what is the use?

cute: This action execute in all sequences


me: This action execute only the first time Windows Installer encounters it.
er process:This action execute only one time either Execute sequence that should not run if the installation is running in silent mode.
UI sequence was run: This action execute only if either Execute sequence is run following User Interface sequence.

Launch Condition?

ion is used to check system requirements on the destination computer.

App Search?

ction is used to search for existing versions of products (Files, Registry, INI, Directory & Component)

Isolated Component, why we are using and its types?

to prevent overwriting of previous versions of shared components, and ensures that other applications do not overwrite your version of

e concept
oncept

he use of MSI Assembly tables?

r the registration of .Net Assembly files

he latest version of Windows Installer?

ersion of Windows Installer is 4.5

he latest version of Wise Package studio & Install Shield Admin Studio?

ith time.

he difference between Wise Package Studio & Install Shield Admin Studio?

he info myself.

Conflict Management?

more applications install the same system files (DLLs, .VBXs, and .OCXs), Windows registry, and other items. To detect, Conflict Manag
r resolve the software conflicts, Application Isolation concept should be use.

e the types of Deployment (Software Distribution)?

y (Active Directory)
pdate Services (SUS)
pdate Web site
anagement service (SMS)

Software Distribution?

ore critical aspects to managing a Windows environment is the ability to deploy new applications, updates, upgrades & patches. Distribu
are is called as Software Distribution.

Group Policy (GPO) & how to set it?

s use Group Policy to define options for managing, configuration of servers, desktops, and groups of users. It is used to set policies acro
or range of organizational units. Use gpedit.msc in the run command to set the policy.

Elevated User & how to create it?

ving the privileges of MSI features (Windows Installer) is called as Elevated User You can create through gpedit.msc in the run Comm
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

D Key: Always Install Elevated Value: 1

Wrapper MSI?

ecutable is wrapped within an MSI then that msi is called wrapper msi

Lock down environment?

riction policies provide administrators with a Policy-driven mechanism to identify software running on computers in a domain, and contr
his policy can be used to block malicious scripts, help lockdown a computer, or prevent unwanted applications from running.

IntelliMirror?

management technologies are a set of powerful features for change and configuration management. It ensures that users data, softwar

ngs are available when they move from one computer to another, and persist when their computers are connected to the network.

Active Directory?

plications through the Active Directory is done through the use of group policies, and therefore applications are deployed either on a per
puter basis.

e the other tools which are used during the testing & finding solving the Issues in the Application Packaging?

er
stall Master

lorer

tor & Icon Builder


or

Orca tool & what is the purpose and Advantages?

y to view, update, validate MSI & MST files.

tiple MSI Exec is running during the Installation?

aller uses a client-server model for performing installations. Additionally for security reasons, Windows Installer hosts DLL and script cu
" process. Depending on how the install was initiated, one of the MSIExec processes can be the client process (Current User). Another M
ows Installer service (System).

ive your Application will Install, C drive has less space and D drive has more space? Why & how to solve?

D drive only due to Windows Installer features. We can solve by adding WindowsVolume entry in the directory table as parent of TA
NDSTALLDRIVE=C:\

a Patch?

streamlined process for updating earlier versions of a Windows Installer setup package i.e. when you update only files that already exist
ckage. Only thepackage code is changed.

Upgrade?

process of updating the earlier versions of a Windows Installer setup package i.e. Adding, changing & deleting new Files & Registries. Bu
product version &package code should be changed.

e the types of Upgrades and what is the difference?

date : A small update is a product update that changes a few files or possibly adds some new content. But there is a limitation for the c
to the featurecomponent structure for the package. Only the package code is changed. It is also called as a "Hotfix" or Quick Fix Engin

grade : A minor update is a product update that makes enough changes. But there is a limitation for the changes that can be made to t
nent structure for the package. The package code & product version is changed for the product. It is also called as a Service Pack.

grade : A major update is a product update with a large number of changes. There is no limitation for the changes that can be made to

nent structure for the package. The package code, product code & product version is changed for the product. It is also called as a "Pro

validate the MSI using Wise Package Studio?

ge Studio, by using Package Validation option by selecting the MSI with the default Cub file or Browse your own Cub file. In Install Sh
efault Cub file or Browse your own Cub file.

ICE?

ernal Consistency Evaluation. ICEs are used to validate installation packages against various generic issues.

me ICE Error number and tell how to solve the ICE Errors?

ally 96 ICE Errors and 14 ICEM Errors in the Windows Installer. Some examples are as follows:

sic data and foreign key validation


idates the KeyPath column of the Component table when it is NULL.
idates that all components in the Component table map to a feature in
mponents table.
ecks for entries in the registry table that belong in other tables.
idates that components installed under the user's profile use a registry key under HKCU as their key path.
ecks that new directories in the user profile are removed in roaming scenarios.
idates that individual components do not mix per-machine and peruser data.
ecks that advertised shortcuts belong to components that are installed by thetarget feature of the shortcut.

e the File types of Application Packaging?

soft Windows Installer Project file


l Shield Project file
soft Windows Installer
soft Transform
ows Installer Patch Project file
soft Windows Installer Patch
osoft Windows Installer Merge Module Project file
osoft Windows Installer Merge Module
utable file

nstall the .Exe file through silent mode?

but will depend up on which tool has been used to create it.

egister the DLL manually?

ommand line option regsvr32. For example


l name For Register the Dll
For Unregistered the Dll
For Silent register

COM Component?
which is having the COM information

e the default Windows Installer properties?

sFolder]

and Settings\Current User\Start Menu\Programs\Administrative Tools\


lder]
and Settings\Current User\Application Data\
ppDataFolder]
and Settings\All Users\Application Data\
lesFolder]
les\Common Files\
der]
s and Settings\Current User\Desktop\
older]
s and Settings\Current User\Favorites\\
r]
onts\
ataFolder]
s and Settings\Current User\Local Settings\Application Data\
Folder]
s and Settings\Current User\My Documents\My Pictures\
lder]
s and Settings\Current User\NetHood\
lder]
s and Settings\Current User\My Documents\
older]
s and Settings\Current User\PrintHood\
der]
s and Settings\Current User\
esFolder]
les\
enuFolder]
s and Settings\Current User\Start Menu\Programs\
er]
s and Settings\Current User\Recent\
der]
s and Settings\Current User\SendTo\
Folder]
s and Settings\Current User\Start Menu\
der]
s and Settings\Current User\Start Menu\Programs\Startup\
Folder]
System\
der]
System32\
r]
s and Settings\Current User\Local Settings\Temp\
older]
s and Settings\Current User\Templates\
older]

olume]

e the default Environment settings in XP?

ROFILE
s and Settings\All Users

s and Settings\current User\Application Data


ogramFiles
les\Common Files

NAME

ystem32\cmd.exe
E

s and Settings\Current User


s
les
e

s and Settings\Local Settings\Temp

s and Settings\Local Settings\Temp

LE
s and Settings\Current User

Package Code?

Code is a GUID identifying a particular Microsoft Windows Installer package. It associates an .MSI file.

Product Code?

ode is a GUID identifying a particular Application or product.

e complex Applications you did & what is the Issue and how you solve the Issue?
your complex applications such as Office, etc

e the disadvantage/drawbacks of MSI?

esiliency can be inconsistent with repackaged applications because the repackager utility may not fully understand the component depe
paths of the application should be. Therefore, an application may be packaged into one large feature that gets entirely reinstalled if a co
ssing. If it were broken up into multiple smaller features it would enable a more manageable resiliency. COM/ActiveX

: Component Object Model (COM) and ActiveX controls may not be properly registered. Prior to Windows Installer, COM and ActiveX reg
xcept for the exported functions DLLRegisterServer and DLLUnregister server, COM and ActiveX controls offered very few hints of their
vr32.exe was responsible for calling the previously mentioned functions and then the DLL was responsible for registering itself. There is
a DLL, an OCX, or an EXE and figure out what goes on inside DllRegisterServer and DllUnregisterServer for that file. There are standard
ost COM and ActiveX controls register, such as HKCR\CLSID, HKCR\ProgID, and HKCR\TypeLib. Information on COM registration may o
to the appropriate MSI tables by the repackager.

hortcuts may not be created as Windows Installer descriptor shortcuts, which enable resiliency. Legacy setup shortcuts were .lnk files th
in most cases. Sometimes when the repackager runs, all it knows is that an .lnk file was copied to a directory. For example, a legacy S
ortcut to C:\Windows\Profiles\User1\Desktop. The repackager would copy the .lnk file directly to the directory listed previously. Therefo
not actually copying a Windows Installer shortcut, but rather it is copying a file without any resiliency capabilities included.

mponents: The only way to take advantage of isolated components is to author a new MSI package. Repackagers currently do not supp
cation Removal:When uninstalling a repackaged application, it is possible that the AllUsers profile.

advertisement and Command for Advertisement?

, the Availability of an application to users or others with out actually the full Installation. There are two types of Advertising.

Application appears (shortcuts, files & registries) to a user or others, when an Application is assigned. When the user tries to open, it
.

o Entry points appear to a user or others, when an Application published to the group. It is activated only if the group Application activ
lication i.e. Installation on Demand.

{u|m}] package
|m} package /t TransformList
|m} package /g LanguageID

ses a product.
es to the current user.
ses to all users of the computer.
pecifies the Windows Installer package file.
eID : Identifies the language.
mList : Applies transform to advertised package.

admin install and Command for it?


Installer can perform an administrative installation of an application or product to a network for use by a workgroup. An administrative
ce image of the application onto the network that is similar to a source image on a CD-ROM. Users in a workgroup who have access to
e image can then install the product from this source. A user must first install the product from the network to run the application. The u
-from-source when he installs and the installer uses most of the product's file directly from the network. Administrators can run an adm
om the command line by using the /a command line option. The ADMIN action is the top-level action used to initiate an administrative in
on is executed the installer calls the actions in the AdminExecuteSequence and AdminUISequence tables to perform the administrative

xec /a package

h type of packages admin install fail?

h installs files based on selection, be it from command line, System Search or selected options while installing.

Transaction processing?

operations processed together as a single indivisible whole called a transaction. All the constituent operations must succeed for the tran
rwise all the operations are rolled back to the original state.

aller 4.5 includes support for installing multiple packages using transaction processing. The packages are chained together and processe
one or more of the packages in the transaction cannot be installed successfully or if the end user cancels the installation, the Windows
ck for all of the packages to restore the system to its earlier state.

pply multiple transforms to MSI?

msifile> transforms=mst1.mst, mst2.mst, mst3.mst /q

allation is failing with 1603, what might be the cause?

g is a non-exhaustive list of known causes for this error:

ame creation is disabled on the target machine.


cript custom action is prototyped incorrectly.
ed and cannot be overwritten.
ft Windows Installer Service is not installed correctly.
ws Temp folders are full.
was corrupted after installation and, therefore, fails with this error during un-installation.
rsion of Install Shield Developer is being used.
rror occurred during the installation.
e sharing is not installed or enabled when installing MSDE 2000.
we find whether source files contain MSI or not?

ngine process runs more than 2 times in taskmanager


keeps entry of MSI in temp folder

e the types of Setup Captures in Wise / Install shield?

kage Studio there are three types

ure: Creates a clean virtual OS on your computer, and the installation is redirected in the clean virtual OS.
or: Watches the installation and records the changes the installation performs.
Scan the computer before and after the installation and record the differences between the first scan and the second.

ield there are two types

Monitor: Repackager watches lower-level system activities and records related changes made to the system by the setup(s) programs.
Scan the computer before and after the installation and record the differences between the first scan and the second.

Dll Cache folder?


in which Microsoft Windows stores protected system files.

e the ADDLOCAL and ADDSOURCE properties?

It will install the components (file resources) associated with the feature locally on the client the package is installed on.
: The files will be installed on the source meaning where the MSI is originally located. There will actually not be any installation of file
y must exists as external uncompressed.

he difference between Property and PROPERTY?

vate Properties in MSI (Properties that cannot be changed during runtime).


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

INSTALLEVEL Property?

EVEL property is the initial level at which features are selected ON for installation by default. A feature is installed only if the value in
ature table is less than or equal to the current INSTALLLEVEL value. The installation level for any installation is specified by the INSTAL
can be an integral from 1 to 32,767.
the difference between Repair and self healing?

Repair are two different concepts in Windows Installer which people many times consider to be the same thing however there is differe

ggered by advertised shortcuts, or other advertising information in the package which eventually Repairs the application.

lication 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 wi

ere are multiple features then it will not check the missing key paths of the other features, but only the feature of which the advertised

MSI can be triggered by

n in Add/Remove programs
ommand line msiexec /f{other option} {MSI name}
advertised shortcut or other advertising information

ir 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 w
self heal should be repaired, but the whole MSI, by which I mean, all its features are reinstalled.
Action conditions?

t -----------------------------------------------------------------------------------------Condition

nly during install --------------------------------------------------------------------NOT Installed AND NOT PATCH


ns during removal of MSI ---------------------------------------------------------REMOVE~=ALL
uring install and reinstall only ----------------------------------------------------NOT REMOVE
uring install and remove -----------------------------------------------------------There must be no condition

t code, Package Code and Upgrade code?

uld only be changed if significant changes are made to the application changes that warrant calling it a different product.

the product code when:

f the .MSI file has been changed.


ent code of an existing component has changed.
t has been removed from an existing feature.
feature has been made into a child of an existing feature.
child feature has been removed from its parent feature.

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

mplies, 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 no
other should ever have the same package code, even if they install (different versions of) the same product. To change the package co
ormation Stream panel, put the cursor in the Package Code field, and press the Generate GUID button in the lower part of the screen.

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

ge the package, product and upgrade codes, and the product version.

---------------- Package Code ------------Product Version ---------Product Code ------------------------Upgrade Code

e --------------------Change -----------------------Dont change ----------------Dont change ----------------------------Dont change


e --------------------Change -----------------------Change -----------------------Dont change ----------------------------Dont change
de ------------------Change -----------------------Change -----------------------Change -----------------------------------Dont change

nce between Run, Run Once, Active Setup?

n your application requires installation of components such as files or registry keys on a per-user basis, but application has no advertis
r triggers to initiate the installation process.

s processed after every logon, either by the Explorer shell, if it is present, or by First Boot Agent (FBA), if a custom shell, Command she
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
aunch services in executables, hide autostart applications, or hide background processes

key is processed only once, by FBA, after Plug and Play device enumeration and DLL registration processing have completed. The value
re 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
ation, or for cleaning up a setup or an uninstall.
Windows Installer?

aller is a system service for installing and managing applications. It provides a standard method for developing, customizing, installing,

asic functionality is provided by Windows Installer?

nstaller provides the following basic functions:

al operations: All installation operations are transactional. For each operation that Windows Installer performs, it generates an equivale
would undo the change made to the system. If a failure occurs during the middle of an installation, Windows Installer can roll back the
original state.

Windows Installer supports "self-healing" abilities for applications. Applications can detect common installation problems at launch, like
ys, and automatically repair themselves.

on demand: Windows Installer supports on-demand installations of application features. For example, the spelling checker in Microsoft
stalled by default, but a user can trigger an on-demand installation of this feature.

in locked-down environments: In fully locked-down environments, users don't generally have permission or the ability to install app
hey don't have write-access to the Program Files folder of their computers or to the HKEY_LOCAL_MACHINE registry location. If an adm
nstallation package by means of Group Policy, for instance, Windows Installer can perform an installation on the user's behalf.

ement: Windows Installer provides a set of standard Win32 application programming interfaces (APIs) and automation interfaces for
ators to use for querying the installation state on the machine. The APIs allow querying of the current state, verification of the
repair of a corrupted state, and transition from one state to another.

ersions of Windows include Windows Installer?

dows 2000, Windows Millennium Edition (Windows Me), and Windows XP include Windows Installer. Windows 2000 includes version 1.1
dows Me includes version 1.2, and Windows XP includes version 2.0.
0 SP3 also contains version 2.0 of Windows Installer.

e multiple MSIExec.exe processes running on my machine during an installation?

MSIExec processes can be running during an installation. The reason for this is that Windows Installer uses a client-server model for per
Additionally for security reasons, Windows Installer hosts DLL and script custom actions in a "sandbox" process. Depending on how the
of the MSIExec processes can be the client process.

xec process is Windows Installer service. Any remaining MSIExec processes are usually sandbox processes for hosting custom actions. T
as to which MSIExec process will serve as the sandbox process for a script or DLL custom action depends in part on whether the custom
or impersonated and whether the custom action is 32-bit or 64-bit.

an MST, and why it is used?

there is a vendor supplied MSI, then it is not recommended to do capture the MSI, hence all the changes need to be done in the MSI ar
nsform. Then this MST file is applied on the MSI with the following command line.

path}\file.msi TRANSFORMS={path}\file.mst /q
is the location of the folder where MSI and MST are kept.

re the differences between small, minor, and major updates?

e is a product update that changes a few files or possibly adds some new content. A minor update is a product update that makes enou
anging the product version for the product, whereas a major update is a product update with a large number of changes that warrants a
ode.

s 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 u
de.

nor updates can be considered almost equal in that the only real difference is that a minor update has a change to the ProductVersion w
does not. The rules that they follow and application of the patch are the same. Application of small and minor update patches requires e
.

are not subject to that limitation and a reinstallation is not required for patch application. Additionally small and minor update patches
hat can be made to the feature-component structure for the package. Significant changes can be made to the feature-component struc
jor update.

the Logical structure of package?

scribes the installation of a full product (Windows Installer does not handle dependencies between products) and is universally identified
made up of components, grouped into features.

is the minimal part of a producteach component is treated by Windows Installer as a unit: the install developer cannot, for example, u
pecify to install just part of a component. Components can contain files,groups of files, directories, COM components, registry keys, sho
he end user does not directly interact with components.

are identified globally by GUIDs, thus the same component can be shared among several features of the same package or multiple pack
se of merge modules (although, for this to work correctly, different components should not share any sub-components).

a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is th
of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key pa
destination directory is taken to be the key path.

-based application is launched, Windows Installer checks the existence of these critical files or registry keys (that is, the key paths). If t

ween 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-ins
o known as self-healing or self-repair. No two components should use the same key path.

hierarchical group of componentsa feature can contain any number of components and other features (a feature contained in another
eature"). Most installation programs display a "custom setup" dialog box at run time, from which the end user can select which features

author defines the product features. A word-processing program, for example, might provide features for the main program executable,
p files, and optional spelling checker and stationery modules.

do Diagnostic Logging?

nstaller supports detailed logging as a powerful diagnostic tool. Logging can be enabled in the following four ways:

ne: If installing an MSI package from the command-line, the /L switch can be used to enable logging. For example, the following comm
and outputs verbose logging to c:\Package.log:

ackage.msi /l*v c:\package.log

gistry: The following registry value can be used to enable verbose logging:

OCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
Logging

armup

log is named MSI###.log (where "###" is a unique random identifier) and is placed in the system's Temp directory.

: The following Group Policy setting can be used to manage logging on

tems: Computer Configuration -> Administrative Templates -> Windows Components -> Windows Installer -> Logging.

staller API: If installing an MSI package programmatically, the MsiEnableLog function call can be used to create a log file and determin
fe of the calling process. Although verbose logs are very useful for diagnosing Windows Installer problems, they can be very long and d
ce. A quick way to find the location of a problem in the log is to open it in a text editor (such as Notepad) and search for the phrase "Re

mmonly appears in logs close to the point where a critical error has occurred. The Windows Installer SDK provides a tool called WiLogUt
notates Windows Installer log files.

es the package go for Self Healing first time the user launches the Application?

e is containing some HKCU entries then the package will always go for self healing for the first time. This happens because the HKCU ke
he 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
ween 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-ins
Healing.
detect the MSI Version on the Computer?
check the version of the Windows Installer on your system, check the version of MSI.DLL in the Windows\System 32 folder.

ages of Packaging (creating MSI packages)?

Applications to suit the user needs.

e Installation and Un-installation Procedures.


in both Installation and Un-installation.

ged, applications can be quickly installed on a range of desktops in multiple locations, saving administrative costs, simplifying the mana
and minimizing support and repair expenditures.

e of the product by doing apt modifications to applications.

flexibility of obtaining the lost files through a phenomenon called Self Heal, this reduces the down time of application. If a critical file (
example) that is part of the distribution is corrupt or is deleted, the user can be prompted to repair the installation by presenting the ori
on. Additionally, if the installation media is available (for example, on a network share), the repair simply happens automatically.

ertised. So that on demand installation could take place.

of the application can be done with ease.

llation and Un-Installation is achieved by a process called Roll- Back.

management of new user set-up along with the revision and distribution of software repairs and new applications to existing users. App
also be improved.

minate uncontrolled software downloads and installation, enables applications to be safely removed and reduces non-business traffic on
work.

I format, can automate software distribution process and ensure that the installation doesnt break other applications that have already

n is installed via an OS service.

nagement is maintained. In the past, its been difficult to know whether an application is installed on a machine. You would have to que

specific version number or determine whether an .EXE file with

me was present. Windows Installer provides an application programming interface (API) that lets programmers and administrators see
cific application is installed on a machine.

API. This whips together a VBScript to help us with the MSI file manipulations. The API to manipulate MSI files is so powerful that it ca
pdate packages, trigger installs and uninstalls, examine the MSI repository data on computers, and perform some custom actions.

stalls. Because MSI files can be housed in a share point and delivered via a server, we can keep our installation files all in one place or m
er to the users if necessary.

Applying Custom VB Actions in Real Time ?

yst supports the use of custom Visual Basic (VB) actions with real-time data in ArcMap. The custom VB action differs from other real-tim
ed to data in ArcMap at the layer level, rather than in ArcCatalog, where actions are applied to services. The VB action will be applied to
ams into ArcMap but not to any data already in the layer prior to triggering the action.

s the Visual Basic Editor (VBE) from the Main menu in ArcMap to create this action. The following procedure takes you through the step
a real-time data layer as it streams into ArcMap.

rmation on applying actions to real-time data at the server level, see the book Using Tracking Server.

e saved a temporal layer as a .lyr file, its action settings are read-only.
Applying Custom VB Actions in Real Time?

Map table of contents, right-click the real-time data layer to which you want to apply the VB action and click Properties.
ctions tab.
Action.
Name the Action text box and type a name for the action.
Basic as the type of action to create.

oject drop-down arrow and choose Project or Normal.


the Normal folder will affect all documents opened in Arc Map.
odule drop-down arrow and choose the appropriate module for the macro.
lt module name in VBE is This Document.
Macro drop-down arrow and choose the name of the macro you want to use.
appropriate button for the kind of query you want to build.
y Builder to load or create a query for the action.
s meeting the criteria defined in the query will be affected by the VB action you have created.

ction appears in the list panel on the Actions tab.


o apply the new action to the specified layer and close the dialog box.

Vous aimerez peut-être aussi