Best Application Packaging Interview Questions Part – 4
What Is Lock Down Environment?
Software restriction policies provide administrators with a Policy-driven mechanism to identify software running on computers in a domain, and control its ability to execute. This policy can be used to block malicious scripts, help lockdown a computer, or prevent unwanted applications from running.
What Is Intellimirror?
Intelli Mirror management technologies are a set of powerful features for change and configuration management. It ensures that users’ data, software, and personal settings are available when they move from one computer to another, and persist when their computers are connected to the network.
What Is Active Directory?
Deploying applications through the Active Directory is done through the use of group policies, and therefore applications are deployed either on a per user basis or on a per computer basis.
What Are The Other Tools Which Are Used During The Testing & Finding Solving The Issues In The Application Packaging?
Picture Taker
Windows Install Master
InstallRite
RegMon
FileMon
procmon
Process Explorer
CsDiff
Icon Extractor & Icon Builder
RegExtractor
WiLogUtl
WiseComReg
What Is Orca Tool & What Is The Purpose And Advantages?
Microsoft utility to view, update, validate MSI & MST files.
What Is Package Code?
The Package Code is a GUID identifying a particular Microsoft Windows Installer package. It associates an .MSI file.
What Is Product Code?
The Product Code is a GUID identifying a particular Application or product.
What Are The Disadvantage/drawbacks Of Msi?
Resiliency:
Resiliency can be inconsistent with repackaged applications because the repackager utility may not fully understand the component dependencies or what the key paths of the application should be.
Therefore, an application may be packaged into one large feature that gets entirely reinstalled if a component keypath is missing. If it were broken up into multiple smaller features it would enable a more manageable resiliency. COM/ActiveX
Registration:
Component Object Model (COM) and ActiveX controls may not be properly registered. Prior to Windows Installer, COM and ActiveX registration was a black box. Except for the exported functions DLLRegisterServer and DLLUnregister server, COM and ActiveX controls offered very few hints of their registration process.
RegSvr32.exe was responsible for calling the previously mentioned functions and then the DLL was responsible for registering itself. There is no utility that can view a DLL, an OCX, or an EXE and figure out what goes on inside DllRegisterServer and DllUnregisterServer for that file.
There are standard registry entries that most COM and ActiveX controls register, such as HKCRCLSID, HKCRProgID, and HKCRTypeLib. Information on COM registration may or may not get entered into the appropriate MSI tables by the repackager.
Shortcuts:
Shortcuts may not be created as Windows Installer descriptor shortcuts, which enable resiliency. Legacy setup shortcuts were .lnk files that pointed to an executable 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 Setup.exe installed a shortcut to C:WindowsProfilesUser1Desktop. The repackager would copy the .lnk file directly to the directory listed previously. Therefore, the repackager is not actually copying a Windows Installer shortcut, but rather it is copying a file without any resiliency capabilities included.
Isolated Components:
The only way to take advantage of isolated components is to author a new MSI package. Repackagers currently do not support this feature. Application Removal:When uninstalling a repackaged application, it is possible that the AllUsers profile.
What Is Advertisement And Command For 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.
Syntax
Ø msiexec /j [{u|m}] package
Ø msiexec {u|m} package /t TransformList
Ø msiexec {u|m} package /g LanguageID
Parameters
Ø /j : Advertises a product.
Ø u : Advertises to the current user.
Ø m : Advertises to all users of the computer.
Ø package : Specifies the Windows Installer package file.
Ø /g LanguageID : Identifies the language.
Ø /t TransformList : Applies transform to advertised package.
What Is Admin Install And Command For It?
The Windows Installer can perform an administrative installation of an application or product to a network for use by a workgroup. An administrative installation installs a source 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 this administrative image can then install the product from this source. A user must first install the product from the network to run the application. The user can choose to run-from-source when he installs and the installer uses most of the product’s file directly from the network.
Administrators can run an administrative installation from the command line by using the /a command line option. The ADMIN action is the top-level action used to initiate an administrative installation. When this action is executed the installer calls the actions in the AdminExecuteSequence and AdminUISequence tables to perform the administrative installation.
Syntax:
Msiexec /a package
For Which Type Of Packages Admin Install Fail?
Any MSI which installs files based on selection, be it from command line, System Search or selected options while installing.
What Is Transaction Processing?
One or more operations processed together as a single indivisible whole called a transaction. All the constituent operations must succeed for the transaction to succeed, otherwise all the operations are rolled back to the original state.
Windows Installer 4.5 includes support for installing multiple packages using transaction processing. The packages are chained together and processed as a single transaction.
If one or more of the packages in the transaction cannot be installed successfully or if the end user cancels the installation, the Windows Installer initiates rollback for all of the packages to restore the system to its earlier state.
What Is Dll Cache Folder?
It is the folder in which Microsoft Windows stores protected system files.
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”.
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).
Use Of Installevel 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.
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.
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.
What Is The Logical Structure Of Package?
A package describes the installation of a full product (Windows Installer does not handle dependencies between products) and is universally identified by a GUID. A product is made up of components, grouped into features.
Components:
A component is the minimal part of a product—each component is treated by Windows Installer as a unit: the install developer cannot, for example, use a
condition to specify to install just part of a component. Components can contain files,groups of files, directories, COM components, registry keys, shortcuts, and other data. The end user does not directly interact with components.
Components are identified globally by GUIDs, thus the same component can be shared among several features of the same package or multiple packages, ideally through the use of merge modules (although, for this to work correctly, different components should not share any sub-components).
Key paths:
A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type 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 path, the component’s destination directory is taken to be the key path.
When an MSI-based application is launched, Windows Installer checks the existence of these critical files or registry keys (that is, the key paths). If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), then the related feature is re-installed.
This process is also known as self-healing or self-repair. No two components should use the same key path.
Features :
A feature is a hierarchical group of components—a feature can contain any number of components and other features (a feature contained in another feature is called a “subfeature”). Most installation programs display a “custom setup” dialog box at run time, from which the end user can select which features to install or remove.
The package author defines the product features. A word-processing program, for example, might provide features for the main program executable, the program’s help files, and optional spelling checker and stationery modules.
Advantages Of Packaging (creating Msi Packages)?
1. Customize Applications to suit the user needs.
2. Simplify the Installation and Un-installation Procedures.
3. Saves Time in both Installation and Un-installation.
4. Once packaged, applications can be quickly installed on a range of desktops in multiple locations, saving administrative costs, simplifying the manage of
licensing fees and minimizing support and repair expenditures.
5. Saves Space of the product by doing apt modifications to applications.
6. Has a great flexibility of obtaining the lost files through a phenomenon called Self Heal, this reduces the down time of application. If a critical file (a .DLL or
.EXE file, for example) that is part of the distribution is corrupt or is deleted, the user can be prompted to repair the installation by presenting the original
.MSI distribution. Additionally, if the installation media is available (for example, on a network share), the repair simply happens automatically.
7. Can be advertised. So that on demand installation could take place.
8. Upgrading of the application can be done with ease.
9. Clean installation and Un-Installation is achieved by a process called Roll- Back.
10. Simplifies management of new user set-up along with the revision and distribution of software repairs and new applications to existing users. Application recovery can also be improved.
11. Helps eliminate uncontrolled software downloads and installation, enables applications to be safely removed and reduces non-business traffic on a
corporate network.
12. Using .MSI format, can automate software distribution process and ensure that the installation doesn’t break other applications that have already been
installed.
13. Application is installed via an OS service.
14. State management is maintained. In the past, it’s been difficult to know whether an application is installed on a machine. You would have to query for
a .DLL with a specific version number or determine whether an .EXE file with
a specific name was present. Windows Installer provides an application programming interface (API) that lets programmers and administrators see
whether a specific application is installed on a machine.
15. Scriptable 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 can create, validate and update packages, trigger installs and uninstalls, examine the MSI repository data on computers, and perform some custom actions.
16. Served installs. 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 move them around — closer to the users if necessary.