Greetings!!
Glad that my friends are sending their Articles to publish in Q & A Zone.Here by my friends are sharing their valuable knowledge with you.
The below questions and answers are prepared by my mate Sreejith Bharathan.Very good Q&A to prepare for interviews 🙂
Many thanks Mate . 🙂
1.What are the ADDLOCAL and ADDSOURCE properties?
ADDLOCAL: It will install the components (file resources) associated with the feature locally on the client the package is installed on.
ADDSOURCE: The files will be “installed” on the source meaning where the MSI is originally located. There will actually not be any installation of files into the folder but they must exists as “external uncompressed”.
2.Explain the difference between Property and PROPERTY?
Property: Private Properties in MSI (Properties that cannot be changed during runtime).
PROPERTY: Public Properties (Properties that can be changed during runtime).
3.Use of INSTALLLEVEL Property?
The INSTALLLEVEL property is the initial level at which features are selected “ON” for installation by default. A feature is installed only if the value in the Level field of the Feature table is less than or equal to the current INSTALLLEVEL value. The installation level for any installation is specified by the INSTALLLEVEL property, and can be an integral from 1 to 32,767.
4.What is the difference between Repair and self healing?
Self Heal and Repair are two different concepts in Windows Installer which people many times consider to be the same thing however there is difference in these two.
Self Heal is triggered by advertised shortcuts, or other advertising information in the package which eventually Repairs the application.
When the application is launched by advertised shortcut, it checks for all the key paths of the Current Feature, if any of the key paths is missing it will launch Repair.
Note that if there are multiple features then it will not check the missing key paths of the other features, but only the feature of which the advertised shortcut is launched.
Repair of an MSI can be triggered by
- Repair button in Add/Remove programs
- Giving the command line msiexec /f{other option} {MSI name}
- Self Heal by advertised shortcut or other advertising information
- Active setup
Once the repair of the package is triggered, even with Self Heal, then the whole of the MSI is reinstalled. Then it does not see that only the feature which triggered the self heal should be repaired, but the whole MSI, by which I mean, all its features are reinstalled.
5.Custom Action conditions:
Requirement | Condition |
Action runs only during install | NOT Installed AND NOT PATCH |
Action only runs during removal of MSI | REMOVE~=”ALL” |
Action runs during install and reinstall only | NOT REMOVE |
Action runs during install and remove | There must be no condition |
6.Product code, Package Code and Upgrade code?
Product Code:
This code should only be changed if significant changes are made to the application – changes that warrant calling it a different product.
You change the product code when:
- The name of the .MSI file has been changed.
- The component code of an existing component has changed.
- A component has been removed from an existing feature.
- An existing feature has been made into a child of an existing feature.
- An existing child feature has been removed from its parent feature.
Note that adding a new feature (top level or child), consisting entirely of new components, does not require changing the product code.
Package Code:
As the name implies, the package code identifies a specific MSI file. I want to emphasize: not a product, but an MSI file. No two MSI files that are not identical copies of each other should ever have the same package code, even if they install (different versions of) the same product. To change the package code, go to the Summary Information Stream panel, put the cursor in the Package Code field, and press the “Generate GUID” button in the lower part of the screen.
Upgrade Code:
All applications in a product family shared the same upgrade code. Such a group of related applications can consist of different versions and different language versions of the same product. You should never change this code, unless you want to prevent major upgrades.
Summary
When to change the package, product and upgrade codes, and the product version.
Update Type Package Code Product Version Product Code Upgrade Code Small update change don’t change don’t change don’t change Minor update change change don’t change don’t change Major upgrade change change change don’t change |
7.Difference between Run, Run Once, Active Setup
Active Setup:
It is used when your application requires installation of components such as files or registry keys on a per-user basis, but application has no advertised entry points or other triggers to initiate the installation process.
Run:
The Run key is processed after every logon, either by the Explorer shell, if it is present, or by First Boot Agent (FBA), if a custom shell, Command shell, or Task Manager Shell is used. If FBA processes this key, it does so after every logon, not during first boot as it normally would. Typically, this flag is used to load Systray applications, launch services in executables, hide autostart applications, or hide background processes
Run Once:
The RunOnce key is processed only once, by FBA, after Plug and Play device enumeration and DLL registration processing have completed. The values of this registry key are deleted from the registry after it is processed, so that it will not run again. Typically, this flag is used when a reboot is required, such as for a DLL or OCX registration, or for cleaning up a setup or an uninstall.
[To be continued..]
Let me Add a point regarding Active setup and Run.
Which one will execute first.Run or Active setup?
The answer is “Active setup”
Can you please tell the reason why active setup will run first then run key after reboot?
Activesetup is using to configure the userprofile settings if no entry points exists in the package and this will be running only once for a specific user.
Where as RUN key will execute everytime when user login the machine.
These settings are configured with different sequence , in order to speedup to get access to windows desktop\user level settings.
Anyway letz have a more thought about this 🙂
Hi
i want to know about app.packaging related scenarios.
can you please send me
Application repackaging come to picture in iT Infrastructure management.If your organisation requires many number of applications to be managed on desktop\servers , for the centralized management of applications with more effective application repackaging technology comes up.
This technology helps to reduce the total cost of the organization to manage the Infrastructure.
http://mayadeploy.svn.sourceforge.net/viewvc/mayadeploy/trunk/FAQ/FAQ%20on%20MSI%20packaging%20and%20repackaging.odt. I have consolidated the questions.
Hi Mayank,
Many thanks for sharing this.
Really interesting questions.
updated the doc and can be downloaded from http://sourceforge.net/projects/mayadeploy/files/FAQ/FAQ%20on%20MSI%20packaging%20and%20repackaging_0.0_1Beta4.pdf/download
For finding the latest
http://sourceforge.net/projects/mayadeploy/files/FAQ/ will help
what is drawbacks of msi
Please read the blog
send me some more faqs
wt is the use of custom action?
Custom actions are generally using for to execute the tasks which can not be done with MSI configuration such as setting permission with cacls utility,installing a shim and retrieving a property value etc..
what is nested msi & how can install that..?
Never create a Nested MSI Package, its against MSI Best practices but read the microsoft website to create one http://support.microsoft.com/kb/306439
from http://www.appdeploy.com/messageboards/tm.asp?m=74319&mpage=1&key=&#
The drawbacks include the following:
* Nested Installations cannot share components.
* An administrative installation cannot contain a nested installation.
* Patching and upgrading will not work with nested installations.
* The installer will not correctly cost a nested installation.
* Integrated ProgressBars cannot be used with nested installations.
* Resources that are to be advertised cannot be installed by the nested installation.
* A package that performs a nested installation of an application should also uninstall the nested application when the parent product is uninstalled.
Balsa,
Nice to see your blog..Keep the good work going on.
Thanks mate
Hi Balsaraj,
I need answers for few questions
1)If you extract a COM information through registering the dll or OCX file while tables will it be reflected?
2)Mention a single property in the Property manager if it’s not there Application wont install through MSI?
3)Can you elaborate the driver handling via device driver?
4)Apart from APP search what tables you use to find whether the particular application is installed in ur pC via MSI tables?
5)What is the meaning of Launch condition Office2007<office2003
6)What i the attributes you set for files going under c:\Winnt\System?
Can you provide answers for these questions?
Thanks
B
You mentioned earlier that in the custom action section that,
Action only runs during removal of MSI REMOVE~=”ALL”
i think it should be REMOVE=”ALL” as the condition for an action that runs ONLY during uninstall.
V
where can I get the projects for application packaging?
Can anyone help by answering the below questions?
1) How will u install a package in many systems(ex:1000) at same time?
2) How is the storage machanism inside of installed Package?
3) what is active setup? when do u go for it? How do u develop it?
4) What are Transforms? can u Explain briefly?
To install a package in number of system we are using “deployment tool”.
from that tool we deploye to number of machines @ the same time…
hi raj,
i have problem see below
i need to install setup.exe in silent mode.
i found that silent switch also. but the problem here is its taking default values while installing.but i need to uncheck 2 check boxes. 1 is Quick lunch 2 is help url.
please give any idea to solve
create an response file for the installation and provide that response file. i belive you got an idea.
what process of createing driver package? with any example.
can any one help me out with these
thanks in advances
manojkumar
can u please send me the imp questions and answer on packaging
interview questions…..
Hi Raj
I have a one question , like the application is inastalling 10 systems and not insatalling the another 10 systems all are in same group. os is same and all the users have the permission to access the installation.
plz help me on this
An application keeps on Reinstalling every time you click the shortcut .How to resolve?
for that you have to set active setup
how to uninstall only a particular feature?
i know how to insatll a particlar feature
Ans: Msiexec /i ADDLOCAL=Feature name
i think is posiable with REMOVE
great to hav a interaction with al you guys its wonderful
I am interested in learnng application pacakaging ,Can you guys guide me
majorly u have 2 learn some repacking/packaging tools like Wise Package studio & Installshield admin studio . Some scripting languages like vbscript/wise script and App-v …etc
What are the advantages and disadvantages of .msi????
hi Balraj, i am very happy to read your blog!!!
I want to know that as WPS would not be there in future, then do you think application packaging will remain as such as different tech like AppV is coming, please tell me the future scope of Application packaging
Application packaging has a promising career.
please send me application repackaging interview question with answers in pdf format or anything else please
why we are going to add ini files to ini tables instead of files?there is advantages of ini files?
If we add ini files to the files means it will replace of the old file.If we add ini files to the ini tables it will append the content of data to package and it will remove that content after install or uninstall.
i want more interview questions based on application packaging and app-v please send question and answers to my mail
What if application goes for self-healing everytime user launches the shortcuts?What is the reason?