This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Major Upgrade Causes Registry Corruption
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Sep 22, 2008
05:58 AM
Major Upgrade Causes Registry Corruption
I have an IS-2009 MSI Project.
When the product performs an upgrade, everythig seems to work correctly except the file-association registry setting [HKEY_CLASSES_ROOT\\shell\open\command]
The default value is created sucessfully (or at least unchanged by the upgrade)
but a new value named: "command" is created containing random hex data.
The result is that when the user double-clicks on a file, an installer process is started to install a "missing" component!
Has anyone else experienced this?
When the product performs an upgrade, everythig seems to work correctly except the file-association registry setting [HKEY_CLASSES_ROOT\
The default value is created sucessfully (or at least unchanged by the upgrade)
but a new value named: "command" is created containing random hex data.
The result is that when the user double-clicks on a file, an installer process is started to install a "missing" component!
Has anyone else experienced this?
(4) Replies
‎Sep 22, 2008
03:16 PM
The creation of these registry entries would be expected if you are using the Extension/Verb tables to create your file extension registration. Windows Installer generates encoded registry values (sometimes referred to as "Darwin Descriptors") that are used to implement advertisement and self-resiliency (auto repair) functionality for MSI installations.
If you do not want these registry entries to be generated by Windows Installer, use the Registry table to install your file extension information.
If you do not want these registry entries to be generated by Windows Installer, use the Registry table to install your file extension information.
‎Sep 23, 2008
08:13 AM
Thanks, that explains the behaviour I'm seeing, but not how to resolve it (having followed your link I'd rather fix the problem, than go around it)
Is there a way to decode the "Darwin Descriptor" to determine which component and features its' referring to, since there may be a problem in the upgrade?
I know the application itself is being upgraded correctly, because deleting the key causes the file association to work as expected...
Is there a way to decode the "Darwin Descriptor" to determine which component and features its' referring to, since there may be a problem in the upgrade?
I know the application itself is being upgraded correctly, because deleting the key causes the file association to work as expected...
‎Sep 23, 2008
10:25 AM
There's no known way that I am aware of to decode the descriptors created by Windows Installer.
The correct method of resolving this behavior without changing how file extensions are created by your installation would be to determine the cause of the auto repair. To do so, open the Event Viewer (in Control Panel->Administrative Tools) on the machine(s) encountering this behavior and go to the Application log. In the Application log, look for two MsiInstaller warning entries. One of these entries contains information on what feature/component triggered the repair (in this case it would likely be the component containing the file extension). The second entry contains information on what component Windows Installer believes needed to be repaired and the resource that it determined it missing. You can look for the component code provided in the event log entry in your built MSI package to determine what resources this component installs (note that it is always the key file/key path of a component missing from a machine that causes Windows Installer to attempt to repair the component).
With the information from the auto repair event log entries, you may be able to change your upgrade package to resolve this behavior.
The correct method of resolving this behavior without changing how file extensions are created by your installation would be to determine the cause of the auto repair. To do so, open the Event Viewer (in Control Panel->Administrative Tools) on the machine(s) encountering this behavior and go to the Application log. In the Application log, look for two MsiInstaller warning entries. One of these entries contains information on what feature/component triggered the repair (in this case it would likely be the component containing the file extension). The second entry contains information on what component Windows Installer believes needed to be repaired and the resource that it determined it missing. You can look for the component code provided in the event log entry in your built MSI package to determine what resources this component installs (note that it is always the key file/key path of a component missing from a machine that causes Windows Installer to attempt to repair the component).
With the information from the auto repair event log entries, you may be able to change your upgrade package to resolve this behavior.
‎Jul 21, 2016
02:36 PM
You can decode Darwin Descriptors, https://www.symantec.com/connect/articles/working-darwin-descriptors
full write-up here http://metadataconsulting.blogspot.ca/2016/07/windows-10-registry-containing-odd-bad-encrypted-characters.html
full write-up here http://metadataconsulting.blogspot.ca/2016/07/windows-10-registry-containing-odd-bad-encrypted-characters.html