Autoheal Issue
We recieved an msi from a vendor that we needed to modify via transform. Typically when we package something from scratch, if we make changes to the current user registry hive, the msi will autoheal itself the first time it is opened when pushed down through sms so it can make those changes to the registry for the current user. But this is not working for this msi, when we directly edit the msi or through a transform. It never autoheals itself so those current user reg settings never get installed for the logged in user. My question is how is this possible? Is there a way to disable the autoheal feature? Thanks.
0 Comments
[ + ] Show comments
Answers (5)
Please log in to answer
Posted by:
dodgy
14 years ago
If you look at the registry table you should see the corresponding component for that registry entry. Then check the component in the component table and ensure a keypath is set.
If the keypath value is blank this might be the cause of the self-heal failure.
For more information see:
http://en.wikipedia.org/wiki/Windows_Installer#Key_paths
Key paths
A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key path, the component's destination directory is taken to be the key path. When an MSI-based application is launched, Windows Installer checks the existence of these critical files or registry keys (that is, the key paths). If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), then the related feature is re-installed. This process is also known as self-healing or self-repair. No two components should use the same key path.
If the keypath value is blank this might be the cause of the self-heal failure.
For more information see:
http://en.wikipedia.org/wiki/Windows_Installer#Key_paths
Key paths
A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key path, the component's destination directory is taken to be the key path. When an MSI-based application is launched, Windows Installer checks the existence of these critical files or registry keys (that is, the key paths). If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), then the related feature is re-installed. This process is also known as self-healing or self-repair. No two components should use the same key path.
Posted by:
AngelD
14 years ago
Well first off, do you got any entrypoints in the package (ex. advertised shortcut) to trigger the self-check and later on perform a repair when a component is found broken?
The component location that holds the HKCU registry entries are also vital.
Do understand this a bit more please take the time to read through John's blog regarding Windows Installer Self healing: http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!123.entry
The component location that holds the HKCU registry entries are also vital.
Do understand this a bit more please take the time to read through John's blog regarding Windows Installer Self healing: http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!123.entry
Posted by:
rich872
14 years ago
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.