Summary
Val0009 infoSymptoms
When performing Upgrading and Patching Validation, a validation warning may occur in one of the following formats:
"Warning Val0009 A registry entry has been removed from the component [1]. There exists a corresponding entry in the RemoveRegistry table, however, that entry is not associated with this component. This may result in the registry entry not being removed when an upgrade is run."
"Warning Val0009 A registry entry has been removed from the component [1]. This key must be added to the RemoveRegistry table, otherwise it will be orphaned by an upgrade. [2]"
[1] is a placeholder that contains the name of the component from which a registry entry has been removed in the latest version of the setup. [2] contains the missing registry entry.
Cause
This validator ensures that registry entries that have been deleted from a setup are removed when the setup is run as an upgrade.
When a small/minor upgrade is performed, any registry entries that have been removed from the latest setup will not automatically be uninstalled from the target machine. The reason is that a minor upgrade recaches the local MSI database. This recached copy no longer contains any reference to these registry entries because it has been removed from the setup.
To remove this registry entry, you need to enter instructions into the RemoveRegistry table that result in these entries being removed when the upgrade is applied. When the upgrade is run, these RemoveRegistry table entries are executed, and the registry entry is deleted.
This validator does not apply to major upgrades, as the "uninstall then reinstall" nature of major upgrades does not lend itself to this type of consideration.
To perform this validation test, the validation engine needs to compare the latest setup to a previous version of that setup.
Resolution
This validation warning can be resolved in two ways. The first being to restore the registry entry that was removed. It may be helpful to compare your latest setup to the previous version, and add any registry entries that the latest setup is missing.
The recommended approach if you intended to remove these registry entries is to populate the RemoveRegistry table. Using the Root, Key, and Value of a registry entry from the previous version of the setup package, you should create an entry in the RemoveRegistry table using the Direct Editor. The Value field can be authored with the minus character '-'. This results in the removal of the entire registry key with all of its values and subkeys.
The RemoveRegistry table can be accessed by following these steps:
- Select the Direct Editor view.
- Locate the RemoveRegistry table in the center column.
- Add a row to this table with the parameters documented in the MSDN Library topic RemoveRegistry Table.
Note: When authoring the RemoveRegistry table, you are required to specify a component. This component's action state is used to determine if a registry entry matching this RemoveRegistry signature should be removed or not. Make sure you specify a component that you can be sure will reinstall when the upgrade is applied.
Additional Information
Additional information on minor and major upgrades can be found in the InstallShield Help Library topics Minor Upgrades and Major Upgrades.
This error is also documented in the InstallShield Help Library topic Val0009.
Related Articles
Validator Number Val0001 3Number of Views Validator Number Val0006 3Number of Views Validator Number Val0008 3Number of Views What FlexNet inventory agent and beacon release number corresponds to each product version? 305Number of Views FlexNet Manager for Engineering Applications release numbers and corresponding product versions 49Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago