cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
CChong
By Level 11 Flexeran
Level 11 Flexeran
Hi,

I hv created .MSI using developer with 0 error and 0 warning..
When I run "Full MSI Validation Suite" It gives the following error..
suggase me the solution...

ICE57 Error Component 'Folder_PowerPlus' has both per-user and per-machine data with a per-machine KeyPath. http://dartools/iceman/ice57.html Component Component Folder_PowerPlus
(11) Replies
CChong
By Level 11 Flexeran
Level 11 Flexeran
ICE57 posts an error if it finds any component that contains both a per-machine and per-user registry entries, files, directory key paths, or non-advertised shortcuts.

To fix the errors, reorganize the application such that each component contains only per-user or per-machine resources, and not both.
Is the ICE57 a fatal error when it comes to run time? The reason I ask is that our application creates both HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE entries and for the uninstall to remove these entries I have to have them created during the install.

With these entries in the registry table I get a few of the ICE57 errors and I do not see around not having to create them.

If there are issues with this during run time then how else am I suppose to have the extra keys deleted on uninstall?
To answer your ? Tim:

Amber's statement was correct.

To provide more details here:

You need to take the component in question and break that component up into 2 components...so you could delete and re-add your User data to the new component and then you will have eliminated the issue as long as you Registry, File and Directory data has been properly broken out.
Okay when you say "You need to take the component in question and break that component up into 2 components...so you could delete and re-add your User data to the new component and then you will have eliminated the issue as long as you Registry, File and Directory data has been properly broken out."

How do you mean broken out properly? I took the component that had both HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE settings and removed the HKEY_CURRENT_USER keys. I then placed these keys under a component that was not creating any keys. I then rebuild and reValidated the project. The component that had both registry entries no longer produces this error, but the component that I placed the HKEY_CURRENT_USER entires under now produces the ICE57 error. This component only has the HKEY_CURRENT_USER keys. So what else needs to be changed in this component to get rid of this error?

Also what has to be changed in the File and Directory data to change this?

Thanks for your help.
Tim-

You probably need to change your Destination Directory. Your "User" data should be pointed at a User directory like [PersonalFolder].

Your "Machine" data can be pointed at INSTALLDIR (if located in a machine directory), ProgramFilesFolder, WindowsFolder and so on.

Hopefully, this will resolve your errors...otherwise you may still have shared information in the components.
I have the same issue. I have followed all recomendation made in this thread but the problem now turned into ICE38. the [PersonalFolder] choice seems to cause this new error. The message is very cryptic regarding wanting an HKCU ??
I need help to solve thus issue.thks
Unless you really have to resolve these issues for some reason, just ignore them. There is no point in fixing them; it's just a waste of time :cool:
Unless you really have to resolve these issues for some reason, just ignore them. There is no point in fixing them; it's just a waste of time

WRONG! This is the most critical ICE error in the book. Not fixing this can completely waste a machine, preventing any advertised shortcut from starting its associated program.

To Patrick, Harley and Tim. All you need to do is to choose one of those registry keys in your HKCU component to be the keypath. Without doing this you also are missing the benefit of the HKCU keys being applied to all users.

The error is showing the default keypath is the (non-optional) folder destination for the component.
I disagree; I've never had any problems whatsoever with ICE57
and I stopped fixing them a long time ago. And I do know that you will never get your file(s) back if you accidentally delete them if you have a key path in the registry that is not broken. Besides, this is not a problem for advertised shortcuts; it's the non-advertised shortcuts that generate the problem.
:cool:
Patrick
Change your component destination back to being the [INSTALLDIR]
Select a registry entry in that component, right-click on it and choose "Set Keypath"


KingVoodoo
I am glad you don't work for me
Hello,

In the following case it looks like that ICE57 (of darice.cub)
fails retrieving the location (per-user/per-machine) of TARGET:

- It is not an advertised shortcut and
- when Component-IDs of Component_ and TARGET are *not* identical
(in that case, an ICE69-Warning will also appear) and
- when TARGET references a file (formatted-String [#...])
that also depends on the ALLUSERS-Property.

Since both: TARGET (e.g. a file under TemplateFolder) and
Component_ (e.g. a registry-entry of type -1) depend on the
ALLUSERS-property, this error does not make sense.

Component_ and TARGET may not be identical if one want's
to have a Component also serving as shortcut TARGET which
is shared across different features, but with "individual" shortcuts
for each Feature.

Best regards, UBeierlein