Hi there,
Im receiving an error from adminstudio version 6
when validating an msi -
'ICE57 Error Component 'ShortcutsComponent' has both per-user data and a keypath that can be either per-user or per-machine. http://dartools/iceman/ice57.html Component Component ShortcutsComponent'
ShortcutsComponent is the component that my shortcuts are associated with.
It is located in the registry under HKEY_USER_SELECTABLE I'm not sure of the functionality of this constituent of the registry.
The following is the entry in the components table:
ShortcutsComponent | {D224A0EA-2837-4F6D-A0F7-C00134516FDA} | INSTALLDIR | 4 | [empty] | Registry_1848

The following is the entry in the registry table for Registry_1848:
Registry_1848 | -1 | Software\Shortcuts | {A037FDB1-05E5-44B6-BB4E-18E12F737B6B} | [empty] | ShortcutsComponent

I unsure as to how to rectify this problem.
My allusers entry is '2'
Can someone shed some light?
Many thanks!
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
First off we need to know how you plan to install the application and as per-user, per-machine or maybe just manual?
As you have specified ALLUSERS property to 2, meaning if an administrative user (ex local admin) installs the installation will install per-machine otherwise per-user.
If it's an per-machine installation you will end up with a component containing bother user and machine resources which in turn breaks the best practise rules; never have mixed user and machine data in same component as this can prevent a repair from occur correct for regular users and sometimes even admin users.

A side note: what is the directory location for INSTALLDIR?
Answered 12/06/2006 by: AngelD
Red Belt

Please log in to comment
0
Hi and thanks for the reply!
The application will be installed per user via active directory.
The directory location for INSTALLDIR is specified as [WindowsFolder]Installer
under general information -> product properties -> INSTALLDIR
Hope you can help,
Regards
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
0
Then split up the component resources to different components.
Add the Registry_1848 registry to a CurrentUser component and change the keypath for the ShortcutsComponent component to a "machine" resource instead. This will get rid of the ICE error.
Answered 12/07/2006 by: AngelD
Red Belt

Please log in to comment
0
Great stuff - Im quite new to repackaging and I'm wondering how I would
go about doing the above?
It doesn't make much sense to me.
i really appreciate your input,
Many thanks again,
regards
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
0
What packaging tool are you using?
Answered 12/07/2006 by: AngelD
Red Belt

Please log in to comment
0
adminstudion version 6
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
0
You couldn't say WPS (Wise Package Studio), WFWI (Wise For Windows Installer) or ORCA could you ;)
I don't use AdminStudio so you will have to rely on someone else in this case.
Answered 12/07/2006 by: AngelD
Red Belt

Please log in to comment
0
Ok, no worries, but supposing it was ORCA, what would I do?
Maybe i can try and replicate this in adminstudio! :)
Many Thanks again!
regards,

Im going to get ORCA :)
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
0
Okey, suppose you use ORCA ;)

What you want to do is to add a new component holding the HKCU registry part or HKLM depending on the installation as the ALLUSERS property was set to 2 and the Registry_1848 registry was set to the -1 ROOT, and add that new component to a an existing feature. We also want to change the keypath for the ShortcutsComponent component to another resource (non-userprofile file or HKLM registry entry).

Open the msi
Go to the Component table and add a new component (row) by right-click and select Add Row
Fill out the values (read the MSI.CHM), keypath for this component should be Registry_1848.
Go to the FeatureComponents table and add a new row (enter the newly created component and existing feature)

For the ShortcutsComponent component; locate this in the component table and change the KeyPath column for the component row to another resource in the component.

MSI.CHM from the platform sdk will be your best friend when editing using ORCA.

Almost forgotten:
go to the Registry table and find the Registry_1848 entry and change the component column to the name of the component you created.
Answered 12/07/2006 by: AngelD
Red Belt

Please log in to comment
0
Thanks for all the help AngelD!
I just have one final question,
supposing the allusers property was set to null to allow
only a per-user installation, would that make much of a difference on
the above procedure?
Thanks again,
Kind regards,
Shamrock
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
0
When you deploy the package through Active Directory and as Per-User the ALLUSERS property will be set to 2 even if you have defined the value to 1 in the MSI, so it will not matter in your case. But during validation it will matter; so by setting it to 2 you will get a "real" validation.
Answered 12/07/2006 by: AngelD
Red Belt

Please log in to comment
1
Ok, i see thanks again for all your help,
kind regards,
Shamrock.
Answered 12/07/2006 by: shamrock
Orange Belt

Please log in to comment
Answer this question or Comment on this question for clarity