Summary
Discussion on causes and resolutions for validation ICE38 errors.Symptoms
ICE38 occurs only during validation and is displayed in the following formats:
- Component <COMP> installs to user profile. It must use a registry key under HKCU as its key path, not a file.
- Component <COMP> installs to a user profile. It must use a registry key under HKCU as its key path. The KeyPath is currently NULL.
- Component <COMP> installs to user profile. Its key path registry key must fall under HKCU.
- The KeyPath registry entry for component <COMP> does not exist.
- The Registry Entry <REG> is set as the KeyPath for component <COMP>, but that registry entry doesn't belong to <COMP>.
<COMP> is the name of the component causing the validation error. <REG> is the primary key of the row in the Registry table causing the validation error.
Cause
A component's destination is set to a per-user folder, such as AppDataFolder, and one of its files is set as the key file.
A component's destination is set to a per-user folder, such as AppDataFolder, but no key path is set for the component in the files or registry section.
A component's destination is set to a per-user folder, such as AppDataFolder, and the path registry key is set, but the key is located under a hive other than HKEY_CURRENT_USER.
A component has a key path registry entry key, but this key path is not listed in the Registry table. This scenario does not occur under normal circumstances. It only occurs if the Registry or Component table has been manually edited via the Direct Editor. Following is an example of table entries that would cause this validation error.
This is an entry in the Component table:
| Component | Directory | Attributes | KeyPath |
|---|---|---|---|
| Component1 | DIR1 | 4 | Reg4 |
This is an entry in the Registry table. Notice that there is only one entry, and the Registry column says Reg5. However, in the Component table entry above, Component1 is looking for entry Reg4 in the Registry table:
| Registry | Root | Value | Component |
|---|---|---|---|
| Reg5 | 0 | Component1 |
A component has a key path registry entry key, but the key is associated with another component. This scenario does not occur under normal circumstances. It only occurs if the Registry or Component table has been manually edited via the Direct Editor. Following is an example of table entries that would cause this validation error.
This is an entry in the Component table:
| Component | Directory | Attributes | KeyPath |
|---|---|---|---|
| Component1 | DIR1 | 4 | Reg4 |
This is an entry in the Registry table. Notice that there is only one entry, and the Component column says Component2. However, in the Component table entry above the Component column says Component1. However, both the KeyPath column above and the Registry column below have Reg4 listed:
| Registry | Root | Value | Component |
|---|---|---|---|
| Reg4 | 0 | Component2 |
Resolution
Resolution 1:- Find the component mentioned in the error via the Components or Setup Design view.
- Expand the component and click Files.
- Right-click the key file and choose Clear Key File. The key file will have a key icon displayed to its left.
- Click Registry Data.
- Right-click the HKEY_CURRENT_USER hive under the Destination computer's Registry view and choose New > Key.
- Right-click the new key and choose New > Default Value.
- Right-click the new default value under Destination computer's registry data and choose Set Key Path.
- Rebuild the release and revalidate the MSI from the Build Menu option.
- Find the component mentioned in the error via the Components or Setup Design view of the IDE.
- Expand the component and click Registry Data.
- Right-click the HKEY_CURRENT_USER hive under the Destination computer's Registry view and choose New > Key.
- Right-click the new key and choose New > Default Value.
- Right-click the default value under the Destination computer's registry data and choose Set Key Path.
- Rebuild the release and revalidate the MSI from the Build Menu option.
- Find the component mentioned in the error via the Components or Setup Design view of the IDE.
- Expand the component and click Registry Data.
- Right-click the key that is set as the key path and choose Clear Key Path. The current key path will be listed under a hive other than HKEY_CURRENT_USER. The key will have a key icon displayed to its left.
- Right-click the HKEY_CURRENT_USER hive under the Destination computer's Registry view and choose New > Key.
- Right-click the new key and choose New > Default Value.
- Right-click the new default value under Destination computer's registry data and choose Set Key Path.
- Rebuild the release and revalidate the MSI from the Build Menu option.
- Find the component mentioned in the error via the Components or Setup Design view of the IDE.
- Expand the component and click Registry Data.
- Right-click the HKEY_CURRENT_USER hive under the Destination computer's Registry view and choose New > Key.
- Right-click the new key and choose New > Default Value.
- Right-click the new default value under Destination computer's registry data and choose Set Key Path.
- Rebuild the release and revalidate the MSI from the Build Menu option.
- Find the component mentioned in the error via the Components or Setup Design view of the IDE.
- Expand the component and click Registry Data.
- Right-click the HKEY_CURRENT_USER hive under the Destination computer's registry view and choose New > Key.
- Right-click the new key and choose New > Default value. By recreating the key and value, the key will be associated with the correct component.
- Right-click the new default value under Destination computer's registry data and choose Set Key Path.
- Rebuild the release and revalidate the MSI from the Build Menu option.
Additional Information
The Registry table is documented in the Windows Installer Help Library topic Registry Table.
The Component table is documented in the Windows Installer Help Library topic Component Table.
Related KB Articles
Complete Listing Of Pre-Defined Folders Used By MSIRelated Articles
ICE03 Validation Error 11Number of Views Discovery - SSH Validation Error 5Number of Views Validation Error ICE43 3Number of Views Troubleshoot Windows validation error: NTSTATUS 0x8004100c 35Number of Views Validation Error ICE57 3Number 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