Hi Chesong,

 

            Thanks for the info. Some more testing – the problem does occur with Server 2003 also. I had to replicate the pattern on XP once more to see it happening there so I think this looks like a more general problem. However, I can say that the same thing happens with ARPPRODUCTICON on XP – no matter which icon I specify, the first one is in use. Server 2003 does update modifications to this property. I don’t think there are workarounds for this – just stick to one ARPICON and not modify it at RTM.

            Once again, thanks for the info.

 

Best regards,

            Calin

 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chesong Lee
Sent: Friday, August 04, 2006 11:51 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Caching shortcut icons?

 

We have encountered the same problem. Windows Explorer is the culprit, not MSI engine. Explorer does not invalidate its icon cache even if the icon file is changed, at least in Windows XP.

 

Refreshing icon cache can be a solution using a custom action. Although there is no known public API to refresh the shell icon cache, there is a way by changing the shell icon size (e.g. +1 or -1 of the existing value) and restoring to the old value. But this solution has a side effect that user’s desktop icons are rearranged. When we shipped with such custom action, we got some complaints from customers for the side effect. So we decided not to use this technique.

 

Another solution for us was the same solution you are using – changing the icon name whenever the icon data is changed – we add a suffix using MD5 hash of the icon file – we do this way because we supply several OEM versions of the package with custom icons and there should be an automated way to change the icon name.

 

So far that is the only feasible way to circumvent icon cache problems for me.

 

FYI:

 

To achieve this, we implemented in two ways:

 

  1. Pre-calculate MD5 hash value of the icon and use preprocessor variable to set the icon name
  2. Build the MSI and manipulate the MSI database to add MD5 hash suffix in Name column in all rows in Icon Table.

 

First one is easier to implement. Second is more convenient to use but it has a subtle side-effect that MSI file size grows a little bit for updating rows containing binary columns (OLE storage limitation, mentioned in MSDN). So the first one is the one we use at this time.

 

Regards,

 

Chesong Lee

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Calin Iaru
Sent: Friday, August 04, 2006 4:55 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Caching shortcut icons?

 

Hi List,

 

            Strange thing on Windows XP – maybe you can tell me more about it. If I create a shortcut and specify an Icon, then that initial icon is displayed no matter if the icon - as a binary file - has been modified and the MSI recompiled. This is not the case with Server 2003, where the icons are properly displayed. So far it seems that changing the icon Id whenever an update on that binary is made makes XP happy.

 

Best regards,

            Calin

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to