Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Resolving ICE43 & ICE57


7 replies to this topic

antyagi

antyagi
  • Full Members
  • 121 posts

Posted 12 January 2007 - 14:16

Hello everyone,

I have ICE43 & ICE57 error in my project and I am unable to understand how to resolve these. Please help.

thanks,
ankur tyagi
  ankur tyagi

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 12 January 2007 - 14:47

The easiest fix for ICE43 is to set your shortcuts to be advertised (if you can).

ICE57 checks that components install either to per-user or per-machine locations (not both). For example don't include both entries for HKCU and HKLM or include both userprofile and per machine files. In certain cases setting shortcuts advertised fixes this problem too.
Regards
-Stein Åsmul

antyagi

antyagi
  • Full Members
  • 121 posts

Posted 08 May 2007 - 10:48

Glytzhkof, In case, If I can not create advertised shortcut what could be the way?

  ankur tyagi

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 11 May 2007 - 11:27

Unfortunately, validation for ICE57 is really dumb. If you're trying to make an optional shortcut oin the Desktop (a potentially per-user location) you will always get the validation error until you create an HKCU keypath. This means that each additional user to run the app will be greated with a repair - not the best user experience!

You can trick the validation by setting a different directory definition to equal "DesktopFolder" in a CA and create the shortcut in your custom defined location (which always equals that of the desktop). Now, validation doesn't think your directory could exist in a per-user location and you can leave your component with an HKLM key path and give your users a nice experience.

Best of luck,
Gareth

antyagi

antyagi
  • Full Members
  • 121 posts

Posted 04 June 2007 - 07:21

For now I have removed those shortcuts from MSI and creating them thru a CA (C++ code). Looks like everything is working fine, even shortcuts gets deleted on uninstall thanks to RemoveFile table.
But I doubt that this may fail during some per user install scenario. Do you have some idea to handle that?
  ankur tyagi

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 20 June 2007 - 15:40

Your CA should define the target folder of your shortcut depending on the value of the ALLUSERS property within the MSI database. You can read the correct values of the folder paths from the registry.

The Desktop folder, for example:
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
Common Desktop=<path1>
[HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
Desktop=<path2>

So, if ALLUSERS=1, set your desktop shortcut destination to <path1> and if ALLUSERS=2 then set your desktop shortcut destination to <path2>. You should probably have an else option in case the code falls out the bottom, and default to the permachine location.

You can do something similar for any other system folder based path.

Hope that helps,
Gareth

Edited by Gareth at Serif, 20 June 2007 - 15:41.


Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 28 June 2007 - 10:51

Good news!

We've just had conformatino that ICE57 will be removed from the next Vista Certification document.

icewizard

icewizard
  • Full Members
  • 2 posts

Posted 04 July 2007 - 09:56

Just to let you know, there is new software that will automatically correct ICE errors and warnings of all kinds in your MSI files.

Visit http://iceworks.zettaserve.com/ to participate in out free beta program

-icewizard