Aaron Stebner has an interesting article on MSI Resiliency, but before we get all excited about self-repairing applications, let's recognize something. Not even Microsoft gets this one correct, so how can we expect customers and ISVs to become dependent on this feature?
For example, Windows Installer was first introduced with Office 2000, because of their incredibly complex SKU requirements. One of the additional features that MSI introduced was the concept of self-repairing applications, otherwise referred to as application resiliency. The problem was, that this was introduced as a cure-all, but never seems to work quite correctly. Application resilience is the reason that you are prompted for you Office 2003 CD when you apply Office Updates from Microsoft.com.
There are other examples of where things don't seem to work quite correctly. For example, I have a reproducible bug where if you install Visual Studio.NET, and then Installshield 8 or 9 (I haven't tried X yet..), you will be prompted for the Visual Studio.NET installation media if you attempt an installshield command line build. What's wrong? MSI, for some unkown reason, thinks it needs to repair VS.NET (and never does so correctly, I might add!)
The solution to this problem is to un-register and re-register mergemod.dll, usually found in "C:\Program Files\Common Files\Microsoft Shared\MSI Tools\mergemod.dll".
If Microsoft can't even get MSI Resiliency correct internally, how can we?