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
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)
Please log in to answer
Posted by:
India_Repackaging
16 years ago
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 [:)]
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
Posted by:
Lillude
16 years ago
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)
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.
so that the conversation will remain readable.