Application Packaging Real Time Interview Questions And Answers
1. What is Application Packaging?
Ans: Process of creating an installer for an application is called application packaging. Usually in it binary files provided by developers are packaged to form a package. The Main difference between packaging and re-packaging is that the source files does not come in the form of package in packaging where as in re-packaging they come in a form of a package, which might be MSI or legacy package (such as executable, batch files, etc).
2. What is Application Repackaging?
Ans: Repackaging (Customized Installation) is the process of capturing the changes made by an Installation Program (Package) and it is customized to support company standards and distribution methods.
It is not necessary to do setup capture to call it repackaging, even creating must files or is files can be called application repackaging.
3. What are the steps of Repackaging?
Ans :
Ø Review the packaging requirements (User Requirement Review).
Ø Analyze the vendor package (Tech Review).
Ø Repackage the application (Setup capture).
Ø Customize the package (Scripting).
Ø Test the package (Testing & UAT).
Ø Release the package to end users (Deployment).
4. Why repackaging is required & what are the problems in Legacy Installation?
Most common reasons for Re-packaging are as follows
Ø Customized Installation.
Ø Reduce Support Costs.
Ø Self Repair.
Ø Source Resiliency.
Ø Unattended Install.
The problems with Legacy Installations.
Ø High Support Costs.
Ø Fragile Installs & uninstalls.
Ø Difficult & labor Intensive to deploy.
5. Name few MSI Packaging tools?
Ø Wise for Windows Installer.
Ø Wise Package Studio.
Ø Install Shield.
Ø SMS Installer.
Ø Marimba.
Ø WIX (It cannot be used for re-packaging).
Ø Sharpdevelop.
Ø Visual Studio.
6. Name few MSI Re-Packaging tools?
Ø Wise Package Studio
Ø Install Shield
Ø SMS Installer
Ø Marimba.
7. Name few Deployment tools?
Ø Radia
Ø CA DSM
Ø Altiris Client Management Suite
Ø Altiris Notification Server Console
Ø Microsoft Systems Management Server (SMS)
8. What is Windows Installer?
Windows Installer (previously known as Microsoft Installer) is a built-in Operating System service for Installing and Managing Applications. It provides a standard method for developing, customizing, installing and updating applications. It is an engine for the installation, maintenance, and removal of software on modern Microsoft Windows systems. The installation information, and often the files themselves, are packaged in installation packages, loosely relational databases structured as OLE COM Structured Storages and commonly known as “MSI files”, from their default file extension. Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. It is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and Wise Package Studio (later versions of both supports Windows Installer) and NSIS.
9. Benefits of the Windows Installer?
Ø Advertising
Ø Installation on Demand
Ø Repair (Self-healing)
Ø Rollback (Transactional operations)
Ø Managed Shared Resources
10. MSI Installation Mechanism (Background Mechanism)?
Acquisition: The Installer first installs the feature and then progresses through the actions specified in the sequence tables of the installation database. These actions query the installation database and generate a script that gives a step-by-step procedure for performing the installation.
Execution: The installer passes the information to a process with elevated privileges and runs the script.
Rollback: If an installation is unsuccessful, the installer restores the original state of the computer. When the installer processes the installation script, it simultaneously generates a rollback script. In addition to the rollback script, the installer saves a copy of every file it deletes during the installation. These files are kept in a hidden,system directory. Once the installation is complete, the rollback script and the saved files are deleted.
11. What is a MSI?
MSI is “Microsoft Windows Installer”. It is an installation, in the form of a single file. It is actually a database that contains several tables (80+). Each of these tables contains instructions and set-up information.
12. Structure of MSI?
Ø Products (Collection of Features)
Ø Features (Collection of Components)
Ø Components (Collection of files and Registries)
13. What is Product?
A single, installed, working program (or set of programs) is a product. A product is identified by a unique GUID (the ProductCode property). A product is not the same as a package: a single MSI package might install multiple different products. For example, an MSI might install French and English versions of a program, each of which is a different product.
14. What is Feature?
Features are buckets for Components. Windows Installer configuration commands operate only on Features (installing, advertising, Uninstalling). Self-healing, installon- demand and user profile fix-up operate at the Feature level.
15. What is Component?
Components 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, shortcut, or anything else that may be installed. Every component is assigned a unique component code GUID.
16. What is self-healing?
When an MSI-based application is launched (by clicking on an advertised shortcut or file type association), Windows Installer checks the existence of key path items. If there 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), then the related feature is reinstalled. This process is also known as self-healing or self-repair.
17. What is the difference between Self-Healing and Repair?
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.
18. What is Registry, Tell the Structure & types of Registry?
The Registry is a single place for storing information about the Windows OS (Hardware & Software)
Ø Root Keys / Subtrees
Ø Subkeys
Ø Hives
Ø Entries
Types of Registry keys
Ø Machine-Specific (HKCR, HKLM, HKCC, HKU)
Ø User-Specific (HKCU, HKU)
Types of Registry Root keys
Ø HKEY_CLASS_ROOT (HKCR)
Ø HKEY_LOCAL_MACHINE (HKLM)
Ø HKEY_CURRENT_CONFIG (HKCC)
Ø HKEY_CURRENT_USER (HKCU)
Ø HKEY_USERS (HKU)
19. What are Shortcuts & Types?
Shortcuts are the entry points to the applications installed on the system which is normally points to a file:
Ø Advertised (File should be Installed by the Application).
Ø Non Advertised (File that is not part of Installation. It is also called Command Line shortcuts).
20. What are INI File & its format?
INI files are plain-text files that contain configuration information. "INI" stands for
initialization.
[Section]
Keyname=value.
21. What are Services & its types?
A windows service is a background process which is loaded by the Service Control Manager of the OS.
Ø Win32 Service (Win32 services are the services which is running by the executable file installed by the Application).
Ø System or Kernel Services (Kernel services are the services which are used by the OS to communicate to the hardware devices).
22. Where is Service information stored?
Most of the Service information are stored under the windows registry hive “HKLM\System\CurrentControlSet\Name of the Service”
23. in the MSI, which tables contain information about the service details?
Ø Service Install (Service Details)
Ø Service Control (Controlling the service during Installation & Un Installation)
24. What is ODBC & DSN and its types?
ODBC means Open Database Connectivity. The purpose of ODBC is to allow the user to access data from any application. The layer between the application and the DBMS called DSN.
Ø System DSN (DSN will be available for all users)
Ø User DSN (DSN will be available for that particular user)
25. What is File Association?
The Windows operating system recognizes file types and associates them with programs based on their file extension. A file that carries no extension or no associated program is called Orphaned.
26. What is Environment Variable & its types?
Environment Variables are the variables that are set by the Operating System & Application.
Ø System Variable (Available for all users)
Ø User Variable (Available for that particular user)
27. What is Property & types of Properties, give some Examples?
Properties are global variables that the Microsoft Windows Installer uses during an installation.
Private: The installer can be use only internally (values can’t be changed during the run time).
Manufacture, ProductCode, ProductID, ProductName, ProductVersion ……
Public: The installer can be uses both internally & externally (values can be changed during the run time also).
INSTALLLEVEL, ….
Restricted Public: The user can’t change the value both internally & externally due to security purposes. ALLUSERS, REBOOT, REINSTALLMODE …
28. What is Merge Module?
Merge modules are a mechanism in Windows Installer that allows companies to prepackage and share standard component definitions. Merge modules are used to deliver shared code, files, resources, registry entries and setup logic to applications as a single compound file.
29. Name few Merge Module tables?
v ModuleSignature,
v ModuleComponents,
v ModuleDependency,
v ModuleExclusion,
v ModuleIgnore,
v ModuleSubstitution,
v ModuleAdminUISequence,
v ModuleAdminExecuteSequence,
v ModuleConfiguration,
v ModuleAdvtUISequence,
v ModuleAdvtExecuteSequence,
v ModuleInstallUISequence,
v ModuleInstallExecuteSequence.
30. Detail the Background mechanism of Merge Module?
If there are a number of applications that require a specifically configured component, it would be possible to create a merge module that installs and
configures that component. That merge module could then be added to the installation packages of each product that required that particular component.
This saves the effort of having to individually add the necessary files, registry entries, and other components to every installation. It also saves time if updates are needed, as instead of updating the installations for all five applications, only the merge module is updated, and the installations only need to be rebuilt.
31. How to give Permission for files, folders & Registry keys in MSI?
In the MSI, we can give permissions through Lock Permission table. But using subinacl.exe custom action is the best way to set permissions.
32. How to give Permission for files, folders & Registry keys through VB Script & what is the syntax?
We can give permission for files & folders through VB Script by using the CACLS & XCACLS commands.
CACLs should only run on NTFS partitions.
CACLS – Changes Access Control ListS
“Cacls <file name> [/T] [/E] [/C] [/G user: perm] [/R user [...]] [/P user: perm [...]]
[/D user [...]] “
/T Changes ACLs of specified files in the current directory and subdirectories
/E Edit ACL instead of replacing it
/C Continue (ignore) access denied errors
/G user: perm where access rights granted can be: R C F (read, change, full control)
/R user Revoke specified user's access rights (only valid with /E)
/P user: perm Replace specified user's access rights. Permission can be: N R C F (none, read, change, full control)
/D user Deny specified user access
E.g. “cacls c:\myfile.txt /E /G <user name>: F”
33. How to install only one particular feature during the Installation through Command line?
msiexec /i <msi> ADDLOCAL=<Feature Name>
34. How to disable ARP (Add/Remove Programs) Details during the Insallation through Command line, tell some ARP properties?
msiexec /i <msi> ARPSYSTEMCOMPONENT=1
Following entries are various ARP properties
a) ARPAUTHORIZEDCDFPREFIX
b) ARPCOMMENTS
c) ARPCONTACT
d) ARPINSTALLLOCATION
e) ARPNOMODIFY
f) ARPNOREMOVE
g) ARPNOREPAIR
h) ARPPRODUCTICON
i) ARPREADME
j) ARPSIZE
k) ARPSYSTEMCOMPONENT
l) ARPURLINFOABOUT
m) ARPURLUPDATEINFO
35. What is Advertisement?
It means that, the Availability of an application to users or others with out actually the full Installation. There are two types of Advertising
Ø Assigning :
An Application appears (shortcuts, files & registries) to a user or others, when an Application is “assigned”. When the user tries to open, it is
installed upon demand.
Ø Publishing :
No Entry points appear to a user or others, when an Application “published” to the group. It is activated only if the group Application activates the published Application i.e. Installation on Demand.
36. What is Advertised Feature & Component?
If a Feature or Component is advertised, only the interfaces required for loading and launching the application are installed to the user or others. If a user activates an advertised interface the installer then proceeds to install the necessary Components & Features.
37. What is Installation on Demand?
When a user or application activates an advertised feature or product, the installer proceeds with installation of the needed components.
38. What is Transform?
A transform is a windows installer file with the extension (.MST). It should be used along with a MSI to customize or change the installation package without modifying the MSI. The installer can only apply transforms during an installation.
39. What are the types of Transform?
a) Embedded transform
Embedded transforms are stored inside the .msi file of the package.
b) Secured transform
Secured transforms 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 transforms are cached in this location during the installation or advertisement of the package. During subsequent installation-on-demand or maintenance installations of the package, the installer uses the cached transforms.
c) Unsecured transform
Transforms that have not been secured are called unsecured transforms. To apply an unsecured transform, pass the transform file names in the TRANSFORMS property or command line string during the installation.
40. How to Create Transform in Wise / Install Shield?
In Wise Package Studio, by using Install Tailor or New Project ? other templates ?
Transform In Install Shield Admin Studio, by using the New Project ? Transform
41. How many Transform can be created for one Vendor MSI?
There is no restriction on the numbers of transforms which can be created for one Vendor MSI.
42. How many Transforms can be supplied in the Command line?
There is no restriction on the numbers of transforms which can be supplied in the command line.
43. What is Custom Action?
The Microsoft Windows Installer provides many built-in actions for performing the installation process. For some cases the developer writes an action to execute his own installation is called custom action.
44. What are the types of Custom Actions?
v DLL file stored in a Binary table stream
v DLL file that is installed with a product
v EXE file stored in a Binary table stream
v EXE file that is installed with a product
v Displays a specified error message and returns failure, terminating the installation
v EXE file having a path specified by a property value
v EXE file having a path referencing a directory
v JScript file stored in a Binary table stream
v JScript file that is installed with a product
v JScript text specified by a property value
v JScript text stored in this sequence table
v VBScript file stored in a Binary table stream
v VBScript file that is installed with a product
v VBScript text specified by a property value
v VBScript text stored in this sequence table
v Property set with formatted text
v Directory set with formatted text
v Installation of a package nested inside of the first package. See Nested Installation Actions
v Installation of a package that resides in the first application’s source tree. See Nested Installation
v Actions
v Installation of an application that is advertised or already installed. See Nested Installation Actions.
45. What are the types of Sequences in the Custom Actions?
v Normal User Interface
v Normal Execute Immediate / Deferred
v Administrative User Interface
v Administrative Execute Immediate / Deferred
46. What are the types of Conditions in the Custom Actions and what is the use?
v Not Installed - During Installation only
v REMOVE - During Un Installation only
v NOT REMOVE - During both Install & Un Install
47. What are the types of In Script options in the Custom Actions?
a) Immediate Execution
Immediate custom actions, can be sequenced anywhere within any of the sequence tables. It has access to the installation database (read & set installation properties, modify feature & component states, add temporary columns, rows, and tables).
b) Deferred Execution – User Context
Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesn’t have access to the installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User doesn’t have the elevated privileges (Custom actions make changes in the system directly), the custom actions should run in Deferred Execution in User Context only.
c) Rollback only
This Action should be executed during the Installation of the Rollback script or if the Installation is Unsuccessful.
d) Commit only
This Action should be executed during the Installation of the Commit script.
e) Deferred Execution – System Context
Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesn’t have access to the installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User have the elevated privileges (Custom actions make changes in the system directly), then it should run in Deferred Execution in System Context only.
48. What is the difference between “Immediate Execute / Deferred Execute”?
Ø Immediate custom actions, can be sequenced anywhere within any of the sequence tables
Ø Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables
Ø Immediate custom actions have access to the Installation database
Ø Deferred custom actions doesn’t have access to the Installation database
Ø Immediate custom actions can only run in the User Context
Ø Deferred custom actions can run both in the context of the user and elevated using the system context.
49. What is the difference between “Deferred in System Context / Deferred in User Context”?
Ø If the Custom action which installs or modify a file under the INSTALLDIR or Installation should be run in “Deferred in User Context”.
Ø If the Custom action which installs or modify the system file directly should be run in “Deferred Execution in System Context”.
50. What are the types of Processing Options in the Custom Actions and what is the use?
A) Synchronous: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete successfully before continuing the main installation.
b) Synchronous, ignore exit code: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete before continuing the main installation; the action can be either success or fail.
c) A synch, wait at end of sequence: Windows Installer runs the custom action simultaneously with the main installation. At the end it waits for the exit code from the custom action before continuing.
d) A synch, no wait: Windows Installer runs the custom action simultaneously with the main installation. It doesn’t wait for completion of the custom action and doesn’t check the exit code also.
1. What is Application Packaging?
Ans: Process of creating an installer for an application is called application packaging. Usually in it binary files provided by developers are packaged to form a package. The Main difference between packaging and re-packaging is that the source files does not come in the form of package in packaging where as in re-packaging they come in a form of a package, which might be MSI or legacy package (such as executable, batch files, etc).
2. What is Application Repackaging?
Ans: Repackaging (Customized Installation) is the process of capturing the changes made by an Installation Program (Package) and it is customized to support company standards and distribution methods.
It is not necessary to do setup capture to call it repackaging, even creating must files or is files can be called application repackaging.
3. What are the steps of Repackaging?
Ans :
Ø Review the packaging requirements (User Requirement Review).
Ø Analyze the vendor package (Tech Review).
Ø Repackage the application (Setup capture).
Ø Customize the package (Scripting).
Ø Test the package (Testing & UAT).
Ø Release the package to end users (Deployment).
4. Why repackaging is required & what are the problems in Legacy Installation?
Most common reasons for Re-packaging are as follows
Ø Customized Installation.
Ø Reduce Support Costs.
Ø Self Repair.
Ø Source Resiliency.
Ø Unattended Install.
The problems with Legacy Installations.
Ø High Support Costs.
Ø Fragile Installs & uninstalls.
Ø Difficult & labor Intensive to deploy.
5. Name few MSI Packaging tools?
Ø Wise for Windows Installer.
Ø Wise Package Studio.
Ø Install Shield.
Ø SMS Installer.
Ø Marimba.
Ø WIX (It cannot be used for re-packaging).
Ø Sharpdevelop.
Ø Visual Studio.
6. Name few MSI Re-Packaging tools?
Ø Wise Package Studio
Ø Install Shield
Ø SMS Installer
Ø Marimba.
7. Name few Deployment tools?
Ø Radia
Ø CA DSM
Ø Altiris Client Management Suite
Ø Altiris Notification Server Console
Ø Microsoft Systems Management Server (SMS)
8. What is Windows Installer?
Windows Installer (previously known as Microsoft Installer) is a built-in Operating System service for Installing and Managing Applications. It provides a standard method for developing, customizing, installing and updating applications. It is an engine for the installation, maintenance, and removal of software on modern Microsoft Windows systems. The installation information, and often the files themselves, are packaged in installation packages, loosely relational databases structured as OLE COM Structured Storages and commonly known as “MSI files”, from their default file extension. Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. It is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and Wise Package Studio (later versions of both supports Windows Installer) and NSIS.
9. Benefits of the Windows Installer?
Ø Advertising
Ø Installation on Demand
Ø Repair (Self-healing)
Ø Rollback (Transactional operations)
Ø Managed Shared Resources
10. MSI Installation Mechanism (Background Mechanism)?
Acquisition: The Installer first installs the feature and then progresses through the actions specified in the sequence tables of the installation database. These actions query the installation database and generate a script that gives a step-by-step procedure for performing the installation.
Execution: The installer passes the information to a process with elevated privileges and runs the script.
Rollback: If an installation is unsuccessful, the installer restores the original state of the computer. When the installer processes the installation script, it simultaneously generates a rollback script. In addition to the rollback script, the installer saves a copy of every file it deletes during the installation. These files are kept in a hidden,system directory. Once the installation is complete, the rollback script and the saved files are deleted.
11. What is a MSI?
MSI is “Microsoft Windows Installer”. It is an installation, in the form of a single file. It is actually a database that contains several tables (80+). Each of these tables contains instructions and set-up information.
12. Structure of MSI?
Ø Products (Collection of Features)
Ø Features (Collection of Components)
Ø Components (Collection of files and Registries)
13. What is Product?
A single, installed, working program (or set of programs) is a product. A product is identified by a unique GUID (the ProductCode property). A product is not the same as a package: a single MSI package might install multiple different products. For example, an MSI might install French and English versions of a program, each of which is a different product.
14. What is Feature?
Features are buckets for Components. Windows Installer configuration commands operate only on Features (installing, advertising, Uninstalling). Self-healing, installon- demand and user profile fix-up operate at the Feature level.
15. What is Component?
Components 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, shortcut, or anything else that may be installed. Every component is assigned a unique component code GUID.
16. What is self-healing?
When an MSI-based application is launched (by clicking on an advertised shortcut or file type association), Windows Installer checks the existence of key path items. If there 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), then the related feature is reinstalled. This process is also known as self-healing or self-repair.
17. What is the difference between Self-Healing and Repair?
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.
18. What is Registry, Tell the Structure & types of Registry?
The Registry is a single place for storing information about the Windows OS (Hardware & Software)
Ø Root Keys / Subtrees
Ø Subkeys
Ø Hives
Ø Entries
Types of Registry keys
Ø Machine-Specific (HKCR, HKLM, HKCC, HKU)
Ø User-Specific (HKCU, HKU)
Types of Registry Root keys
Ø HKEY_CLASS_ROOT (HKCR)
Ø HKEY_LOCAL_MACHINE (HKLM)
Ø HKEY_CURRENT_CONFIG (HKCC)
Ø HKEY_CURRENT_USER (HKCU)
Ø HKEY_USERS (HKU)
19. What are Shortcuts & Types?
Shortcuts are the entry points to the applications installed on the system which is normally points to a file:
Ø Advertised (File should be Installed by the Application).
Ø Non Advertised (File that is not part of Installation. It is also called Command Line shortcuts).
20. What are INI File & its format?
INI files are plain-text files that contain configuration information. "INI" stands for
initialization.
[Section]
Keyname=value.
21. What are Services & its types?
A windows service is a background process which is loaded by the Service Control Manager of the OS.
Ø Win32 Service (Win32 services are the services which is running by the executable file installed by the Application).
Ø System or Kernel Services (Kernel services are the services which are used by the OS to communicate to the hardware devices).
22. Where is Service information stored?
Most of the Service information are stored under the windows registry hive “HKLM\System\CurrentControlSet\Name of the Service”
23. in the MSI, which tables contain information about the service details?
Ø Service Install (Service Details)
Ø Service Control (Controlling the service during Installation & Un Installation)
24. What is ODBC & DSN and its types?
ODBC means Open Database Connectivity. The purpose of ODBC is to allow the user to access data from any application. The layer between the application and the DBMS called DSN.
Ø System DSN (DSN will be available for all users)
Ø User DSN (DSN will be available for that particular user)
25. What is File Association?
The Windows operating system recognizes file types and associates them with programs based on their file extension. A file that carries no extension or no associated program is called Orphaned.
26. What is Environment Variable & its types?
Environment Variables are the variables that are set by the Operating System & Application.
Ø System Variable (Available for all users)
Ø User Variable (Available for that particular user)
27. What is Property & types of Properties, give some Examples?
Properties are global variables that the Microsoft Windows Installer uses during an installation.
Private: The installer can be use only internally (values can’t be changed during the run time).
Manufacture, ProductCode, ProductID, ProductName, ProductVersion ……
Public: The installer can be uses both internally & externally (values can be changed during the run time also).
INSTALLLEVEL, ….
Restricted Public: The user can’t change the value both internally & externally due to security purposes. ALLUSERS, REBOOT, REINSTALLMODE …
28. What is Merge Module?
Merge modules are a mechanism in Windows Installer that allows companies to prepackage and share standard component definitions. Merge modules are used to deliver shared code, files, resources, registry entries and setup logic to applications as a single compound file.
29. Name few Merge Module tables?
v ModuleSignature,
v ModuleComponents,
v ModuleDependency,
v ModuleExclusion,
v ModuleIgnore,
v ModuleSubstitution,
v ModuleAdminUISequence,
v ModuleAdminExecuteSequence,
v ModuleConfiguration,
v ModuleAdvtUISequence,
v ModuleAdvtExecuteSequence,
v ModuleInstallUISequence,
v ModuleInstallExecuteSequence.
30. Detail the Background mechanism of Merge Module?
If there are a number of applications that require a specifically configured component, it would be possible to create a merge module that installs and
configures that component. That merge module could then be added to the installation packages of each product that required that particular component.
This saves the effort of having to individually add the necessary files, registry entries, and other components to every installation. It also saves time if updates are needed, as instead of updating the installations for all five applications, only the merge module is updated, and the installations only need to be rebuilt.
31. How to give Permission for files, folders & Registry keys in MSI?
In the MSI, we can give permissions through Lock Permission table. But using subinacl.exe custom action is the best way to set permissions.
32. How to give Permission for files, folders & Registry keys through VB Script & what is the syntax?
We can give permission for files & folders through VB Script by using the CACLS & XCACLS commands.
CACLs should only run on NTFS partitions.
CACLS – Changes Access Control ListS
“Cacls <file name> [/T] [/E] [/C] [/G user: perm] [/R user [...]] [/P user: perm [...]]
[/D user [...]] “
/T Changes ACLs of specified files in the current directory and subdirectories
/E Edit ACL instead of replacing it
/C Continue (ignore) access denied errors
/G user: perm where access rights granted can be: R C F (read, change, full control)
/R user Revoke specified user's access rights (only valid with /E)
/P user: perm Replace specified user's access rights. Permission can be: N R C F (none, read, change, full control)
/D user Deny specified user access
E.g. “cacls c:\myfile.txt /E /G <user name>: F”
33. How to install only one particular feature during the Installation through Command line?
msiexec /i <msi> ADDLOCAL=<Feature Name>
34. How to disable ARP (Add/Remove Programs) Details during the Insallation through Command line, tell some ARP properties?
msiexec /i <msi> ARPSYSTEMCOMPONENT=1
Following entries are various ARP properties
a) ARPAUTHORIZEDCDFPREFIX
b) ARPCOMMENTS
c) ARPCONTACT
d) ARPINSTALLLOCATION
e) ARPNOMODIFY
f) ARPNOREMOVE
g) ARPNOREPAIR
h) ARPPRODUCTICON
i) ARPREADME
j) ARPSIZE
k) ARPSYSTEMCOMPONENT
l) ARPURLINFOABOUT
m) ARPURLUPDATEINFO
35. What is Advertisement?
It means that, the Availability of an application to users or others with out actually the full Installation. There are two types of Advertising
Ø Assigning :
An Application appears (shortcuts, files & registries) to a user or others, when an Application is “assigned”. When the user tries to open, it is
installed upon demand.
Ø Publishing :
No Entry points appear to a user or others, when an Application “published” to the group. It is activated only if the group Application activates the published Application i.e. Installation on Demand.
36. What is Advertised Feature & Component?
If a Feature or Component is advertised, only the interfaces required for loading and launching the application are installed to the user or others. If a user activates an advertised interface the installer then proceeds to install the necessary Components & Features.
37. What is Installation on Demand?
When a user or application activates an advertised feature or product, the installer proceeds with installation of the needed components.
38. What is Transform?
A transform is a windows installer file with the extension (.MST). It should be used along with a MSI to customize or change the installation package without modifying the MSI. The installer can only apply transforms during an installation.
39. What are the types of Transform?
a) Embedded transform
Embedded transforms are stored inside the .msi file of the package.
b) Secured transform
Secured transforms 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 transforms are cached in this location during the installation or advertisement of the package. During subsequent installation-on-demand or maintenance installations of the package, the installer uses the cached transforms.
c) Unsecured transform
Transforms that have not been secured are called unsecured transforms. To apply an unsecured transform, pass the transform file names in the TRANSFORMS property or command line string during the installation.
40. How to Create Transform in Wise / Install Shield?
In Wise Package Studio, by using Install Tailor or New Project ? other templates ?
Transform In Install Shield Admin Studio, by using the New Project ? Transform
41. How many Transform can be created for one Vendor MSI?
There is no restriction on the numbers of transforms which can be created for one Vendor MSI.
42. How many Transforms can be supplied in the Command line?
There is no restriction on the numbers of transforms which can be supplied in the command line.
43. What is Custom Action?
The Microsoft Windows Installer provides many built-in actions for performing the installation process. For some cases the developer writes an action to execute his own installation is called custom action.
44. What are the types of Custom Actions?
v DLL file stored in a Binary table stream
v DLL file that is installed with a product
v EXE file stored in a Binary table stream
v EXE file that is installed with a product
v Displays a specified error message and returns failure, terminating the installation
v EXE file having a path specified by a property value
v EXE file having a path referencing a directory
v JScript file stored in a Binary table stream
v JScript file that is installed with a product
v JScript text specified by a property value
v JScript text stored in this sequence table
v VBScript file stored in a Binary table stream
v VBScript file that is installed with a product
v VBScript text specified by a property value
v VBScript text stored in this sequence table
v Property set with formatted text
v Directory set with formatted text
v Installation of a package nested inside of the first package. See Nested Installation Actions
v Installation of a package that resides in the first application’s source tree. See Nested Installation
v Actions
v Installation of an application that is advertised or already installed. See Nested Installation Actions.
45. What are the types of Sequences in the Custom Actions?
v Normal User Interface
v Normal Execute Immediate / Deferred
v Administrative User Interface
v Administrative Execute Immediate / Deferred
46. What are the types of Conditions in the Custom Actions and what is the use?
v Not Installed - During Installation only
v REMOVE - During Un Installation only
v NOT REMOVE - During both Install & Un Install
47. What are the types of In Script options in the Custom Actions?
a) Immediate Execution
Immediate custom actions, can be sequenced anywhere within any of the sequence tables. It has access to the installation database (read & set installation properties, modify feature & component states, add temporary columns, rows, and tables).
b) Deferred Execution – User Context
Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesn’t have access to the installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User doesn’t have the elevated privileges (Custom actions make changes in the system directly), the custom actions should run in Deferred Execution in User Context only.
c) Rollback only
This Action should be executed during the Installation of the Rollback script or if the Installation is Unsuccessful.
d) Commit only
This Action should be executed during the Installation of the Commit script.
e) Deferred Execution – System Context
Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables. It doesn’t have access to the installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the Install Execute, Install Execute Again, or Install Finalize action is run. If the Current User have the elevated privileges (Custom actions make changes in the system directly), then it should run in Deferred Execution in System Context only.
48. What is the difference between “Immediate Execute / Deferred Execute”?
Ø Immediate custom actions, can be sequenced anywhere within any of the sequence tables
Ø Deferred custom actions can only be sequenced between the Install Initialize and Install Finalize actions in execute sequence tables
Ø Immediate custom actions have access to the Installation database
Ø Deferred custom actions doesn’t have access to the Installation database
Ø Immediate custom actions can only run in the User Context
Ø Deferred custom actions can run both in the context of the user and elevated using the system context.
49. What is the difference between “Deferred in System Context / Deferred in User Context”?
Ø If the Custom action which installs or modify a file under the INSTALLDIR or Installation should be run in “Deferred in User Context”.
Ø If the Custom action which installs or modify the system file directly should be run in “Deferred Execution in System Context”.
50. What are the types of Processing Options in the Custom Actions and what is the use?
A) Synchronous: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete successfully before continuing the main installation.
b) Synchronous, ignore exit code: Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete before continuing the main installation; the action can be either success or fail.
c) A synch, wait at end of sequence: Windows Installer runs the custom action simultaneously with the main installation. At the end it waits for the exit code from the custom action before continuing.
d) A synch, no wait: Windows Installer runs the custom action simultaneously with the main installation. It doesn’t wait for completion of the custom action and doesn’t check the exit code also.