/build/static/layout/Breadcrumb_cap_w.png

Self repair of MSI

I have 2 components A and B under the same compete feature.

Component A has 2 files aaa.txt (Key Path)
bbb.txt
and advertised shortcut for aaa.txt

Component B has 2 files ccc.txt (Key path)
ddd.txt

If I delete aaa.txt and launch the advertised shortcut, it repairs and brings back the aaa.txt (as this is key path)

but if I delete aaa.txt (key path) and ddd.txt (non key path) then also it repairs (aaa.txt is key path)
and puts aaa.txt file as well as ddd.txt.

can anyone please help me understand how come ddd.txt was put back even though it was not a key file

0 Comments   [ + ] Show comments

Answers (3)

Posted by: India_Repackaging 16 years ago
Blue Belt
0
Hi,

The repair is always done on the Feature level. When you delete aaa.txt and launch the advertised shortcut, the windows installer checks for broken components and realises that keypath for component A is missing. It then initiates a feature level repair and reinstalls all components under that feature.

I suggest to try this practically, you can create two features 1 & 2. Add components A and B in features 1 & 2 respectively. Now perform the same steps and you will find that ddd.txt is not reinstalled.

I hope this hepls you [:)]
Posted by: Lillude 16 years ago
Senior Purple Belt
0
thanks for your inputs.

however my understanding is that Installer repairs only broken components and it get to know about a broken component only if key path is missing.

here Key path is not missing for one component even then that is getting repaired and file is being put back.
Posted by: Lillude 16 years ago
Senior Purple Belt
0
here the repair works not on the basis of the key path but on the basis of Reinstall mode
so if we run the msiexec /f the values after f will decide whether to put that file back or not

for example /fo will check if file is missing or older version is present, it will put the file back on the system after repair

if this is triggered by Advertiesed entry point(i.e. advertised shortcut) it will work as per REINSTALLMODE property value (normally it is OMUS)
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ