Video Screencast Help
Endpoint Management Community Blog

Difference Between Self Heal and Repair

Created: 30 Oct 2008 • 5 comments
piyushnasa's picture
+1 1 Vote
Login to vote

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

  1. Repair button in Add/Remove programs
  2. Giving the command line msiexec /f{other option} {MSI name}
  3. Self Heal by advertised shortcut or other advertising information.
  4. 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.

Hope this clarifies the difference between two.

Comments 5 CommentsJump to latest comment

blacklisted_packager's picture

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

not entirely true , if the all the parent feature of the currentfeature invoked via entry point will go for selfheal.

-1
Login to vote
piyushnasa's picture

I totally agree with your point and thanks for pointing that out..
The feature in which the Advertised shortcut is placed, checks the key paths of that feature and all its sub features, but not of its parent features and all other features in the package.
I hope this will remove any confusion. :)

Piyush Nasa Altiris Certified Professional (ACP)

http://msiworld.blogspot.com/

+1
Login to vote
EdT's picture

It's the other way around. The advertised entry point triggers checks of key paths starting with the feature containing the entry point, and then moving UP the feature tree, checking key paths in parent features, but no in any "parallel" features.
Thus you can put "user" components in the parent feature, and the rest of the components including the shortcuts, in the child feature, and still have the parent feature self heal triggered by the advertised entry points in the child feature.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

0
Login to vote
rbrucelee1978's picture

I think a bit more understanding on how Feature/Component Level Healing would help you in future explanations :-)

0
Login to vote
John McFadyen's picture

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.

well it would appear this person doesn't understand the difference between the two either.

Self healing is triggered by advertised shortcuts (true) only items which are classed as broken within the same feature as the entry point or its parents will be repaired.

Self repair is triggered by add / remove programes and or msiexec /f xxx a repair is then done based on the values within the REINSTALLMODE property.

there is a considerable difference between the two but those difference at not what are described by the OP.

 

0
Login to vote