I also do not know the answer of this questions, but this is my solution
Try setting property
It is stored in “Control” Table
I have restarted the coding of mayadeploy, a Full Package Management Solution for Small Business, It will be re-coded in Python & G++, using WX as GUI library.
Few silent features are as follows,
- Based on Server & Client architecture
- Using this managers will be able to deploy packages on to his reportee’s computer without any human intervention. (Only for App-V Packages for now)
- Will support following file types for deployment:- msi, exe, batch files, App-V Packages
- Ver: 2 will support even hardware & software reporting
- Will have entire Software Life cycle support.
- New Software request or Existing Software request
- Integration, packaging, UAT and Deployment lifecycle integrated.
as always i am requesting yours comments and suggestions to make it a success.
I have updated the MSI Interview Questions, the updated document can be downloaded from http://sourceforge.net/projects/mayadeploy/files/FAQ/FAQ%20on%20MSI%20packaging%20and%20repackaging_0.0_1Beta4.pdf/download.
Enjoy solving the last 3 questions.
As always the questions & answers might be wrong.
🙂 so please correct me if that is the case :).
I am posting the first draft of FAQ of MSI packaging & repackaging. It can be downloaded from here or here.
Download the latest from http://sourceforge.net/projects/mayadeploy/files/FAQ/
Q: Explain the difference between Property and PROPERTY
- Public Property:
Public properties can be changed anytime by a user, system or admin on the command line while installing, by applying a transform or by interacting with the authored user interface (Installation Interface)
They are always in upper case
- Private Property:
The installer uses then internally and their values are initialized in the installation database (msi) or set by the values determined by the OS.
Private property names must always include lowercase letters. (Thanks Alek for correcting)
- Explain the difference between Property and PROPERTY
- Describe the process flow of an installation in terms of the User Interface, Immediate and Deferred sequences
- What are the ADDLOCAL and ADDSOURCE properties?
- What is the difference between installations using ALLUSERS=””, ALLUSERS=1 and ALLUSERS=2 option?
- Advertised vs non-advertised shortcuts, what’s the difference?
- Maximum how many files you can add in msi?
- ProductCode, PackageCode, UpgradeCode, Explain them
- Explain Self healing process in details.
- Suppose you’re in an environment where you can’t use advertisement, explain how you would go about setting user specific settings
- What is the impact of leaving COM information in a generic registry component as apposed to in each relevant component
- How many sequences are there in an MSI
- Please sketch the entire process of creating a package, from the software request up to package delivery
- How many different sequence tables are there in an MSI
- How we can make two applications with same GUID to install on the same machine?
- How we create the small,minor and major upgrade?
- what is the disadvantage of using lock permissions table
- What are secure custom properties
- What is the difference between Repair and Self healing?
- What is entry point for MSI?
- What should be the condition of a custom action if we want to run it during install and uninstall ?
- Difference between Run, Run Once, Active Setup
- Use of INSTALLLEVEL Property
- Self-Heal (advertised shortcut) Vs Install on Demand (product Advertising)
- Self-Heal Vs Repair
- Per-user installation Vs Per-machine installation
- The reason why during a repair, bringing back missing files to System Folders is possible for a standard user who actually does not have a write permission to these folders.
- What are your thoughts and experiences for patching .msi files? What approaches have worked the best? What hasn’t worked? Why?
- Describe a methodology for populating the user’s profile with Windows Installer functionality. That one was funny because the interviewer was looking for Active Setup which I didn’t consider to be specific to Windows Installer.
- How do you configure an installation for an application that requires administrative privileges to work if the end user is not a local machine administrator?
- Have you ever had to modify a .msi directly without a graphic interface? Which tables did you modify and why?
- Describe the most difficult project you have worked on. What was the problem? How did you solve it? What did you learn?
- What tools are in your “packaging toolkit?”
- Have you had to edit permissions?
- How would you change permissions on files and registry entries?
- What are the differences between the lock permissions table and external tools for editing?
- How would you populate components from a machine-based installation to a user profile?
- What tools do you regularly use asides from your primary tool (WPS or IS or etc…) in the process of creating a package?
- An example of a condition you would use, and what it would be useful for.
- If you were to receive a vendor MSI, how would you repackage it to comply with company standards?
- Do you recommend modifying vendor MSIs? Why/why not?
- What are the advantages of using MSIs?
- Explain to me what self healing is and how you can leverage it for user specific files/registries
- Besides self-healing, what other options do you have for creating user specific files/registries and under what scenarios would you use those?
- How would you troubleshoot an application that does not run on a locked down environment but does run as administrator?
- When would you use Setup Capture and what kind of clean up would you performed on a captured MSI?
- Have you created merge modules? Why?
- What is the purpose of Validation and how do you handle ICE errors on vendor MSIs?
- Walk me through the entire packaging process from request to deployment you’ve been exposed to in previous roles.
More Questions can be downloaded from https://sourceforge.net/projects/mayadeploy/files/FAQ/. Just select the latest PDF file.
1. Create a new Directory in “Setup Files” and set the ID as “ProgramMenuFolder” and set Name as “Programs”.
2. Create a new Directory under this directory and set ID as “ProgramMenuDir”.
3. In the shortcut set the Directory as “ProgramMenuDir”