Page 1 of 1
Shortcut icon gone after reboot
Posted: Tue Mar 13, 2007 5:52 am
by Christoph Schneegans
Hello!
I use the "Create Shortcut" command to create shortcuts on the desktop. The .exe file itself does not contain an icon, so I have to use the "Icon File Path" property which I've set to "#PROJDIR#\\icon.ico".
During an install, the shortcut is properly created, with the icon that I've specified in InstallAware. However, after a reboot, the icon is gone. The shortcut still works, though.
I've inspected the shortcut and found that the icon is to be loaded from "%SystemRoot%\\Installer\\{2B6277CE-9750-407E-9FA2-431C006E18CF}\\jekte5cORDERS7e15cicon.ico0.ico". This file doesn't exist, however. In fact, even the directory is not present!
To make things worse, this only seems to happen on some systems. Are there any known issues with the "Create Shortcut" command?
Posted: Tue Mar 13, 2007 2:41 pm
by neillans
There are no known issues at this time; however, I should note that if you are not using the icon via the resource of your application, you should install the ico file into your application directory (TARGETDIR) and set the icon properties appropriately.
Failure to do this will cause it to use the support directory which only exists during teh installation - what you are probably seeing is Windows caching this initial icon, but this cache is rebuilt on reboot so it is lost.
The solution is simply install it along with your application.
Posted: Wed Mar 14, 2007 4:31 am
by Christoph Schneegans
Thank you, that makes perfect sense. However, I am unable to realize your advice. The "Icon File Path" property does not support variables, so I obviously can't refer to TARGETDIR.
I also tried the following: I used the "Install Files" command to copy #PROJDIR#\\icon.ico to $TARGETDIR$, then set the "Icon File Path" property to #PROJDIR#\\icon.ico. After the installation is complete, the icon.ico file is indeed present in $TARGETDIR$. However, the shortcut doesn't reference it, but still points to the "%SystemRoot%\\Installer\\{2B6277CE-9750-407E-9FA2-431C006E18CF}" folder.
Posted: Wed Mar 14, 2007 4:32 am
by neillans
Ok, I will raise this with the others and see what I can discover; I must admit, I tend to only use icons that are embedded in my app

Missing Icons
Posted: Sun Mar 18, 2007 9:38 pm
by Ben Farrelly
Hi,
I was just wondering if there is anymore information about this bug.
We are having the same issue where we are allocating an icon pre build and the icon hangs around for a few reboots and is then lost.
We would love to install the icons with our app however there is no way dynamically set the path for the url.
Is there a work around for this yet?
Thanks,
Ben
Posted: Tue Mar 20, 2007 12:14 pm
by neillans
Hi all,
I'm trying to investigate this issue, however, am having difficulty in producing a reliable test case.
If anyone has a script with this issue, please e-mail it to me at andyn at installaware dot com.
Thanks!
Posted: Tue Mar 20, 2007 12:59 pm
by Christoph Schneegans
Andy,
as I have stated in my original post, the issue is not easy to reproduce. However, you should _always_ see a path such as "C:\\WINDOWS\\Installer\\{6889CB07-8780-4884-93C7-368F9734F5F2}\\HORTC7e15csource5cicon.ico0.ico" in the shortcut properties if the shortcut was created with the "Icon File Path" property set.
It seems that sometimes this folder is deleted after a reboot, and sometimes it is not. It would be okay to know when and why this folder is deleted. However, it would even better to know how to use the "Icon File Path" property to point to an icon location e.g. in the $TARGETDIR$. I didn't manage to do that so far.
Posted: Tue Mar 20, 2007 1:03 pm
by neillans
Unfortunately that’s part of the problem; this is actually controlled via the MSI Database itself - hence it being intermittent and rather frustrating...
We are currently discussing potential workarounds.
Posted: Tue May 08, 2007 7:14 am
by JasonCrone
I am getting this same issue. Has a resolution been found or is there a suitable workaround?
Posted: Tue May 08, 2007 9:47 am
by MichaelNesmith
InstallAware 6.5+ contains a built in workaround for this, which was actually an MSI issue.
Posted: Tue May 08, 2007 9:49 am
by JasonCrone
Thanks Michael! I was still on 6.42 and I actually just finished installing 6.6. I will let you know if I have any more problems!

Posted: Wed May 09, 2007 9:44 am
by JasonCrone
What is the built in workaround? I have 6.6 and when I look at the path of the icon it still gives me the %systemroot%/Installation/... folder. When I get to the shortcut area I am specifying the icon on a drive and not providing an icon number. Should I be doing this a different way? I can install all the icons into the $TARGETDIR$ but I can't reference that variable. Any help would be appreciated!
Posted: Wed May 09, 2007 1:34 pm
by MichaelNesmith
You
cannot use variables to point to shortcut icons. You
cannot point to icon files on the end-user machine as your custom shortcut icons. These are standard MSI features/limitations, depending on how you look at it.
You can use compiler variables to point to shortcut icons, and that works only because compiler variables are substituted at build time. Once again, the icon you want to use is specified at build time and embedded into the MSI database. This behavior cannot be changed. If you have suggestions to change this behavior, directly contact the Windows Installer team at Microsoft as I am sure many users would appreciate having more flexibility here
The workaround in InstallAware 6.5+ is that sometimes MSI failed to display icons correctly even when you had set them up correctly. This is what won't occur anymore because R&D now works around whatever bug it was in MSI that caused this to happen.
Posted: Wed May 09, 2007 2:05 pm
by JasonCrone
I am not using variables or pointing to files/icons on the end users machine, but I was trying to point to files/icons on my machine that I want to be substituted for the icons when the software is installed on an end-users machine. I used the dialog you implemented in your software selected the icon I wish to include and it seems to be fine until I installed that application on a different machine and when I looked at the icon path it was in that odd directory. We had to stick with using the default icons since we had to release our software already, but it would be nice if when you told it which icon to use it would hold that icon when installed on end-users machines.
On a side note, I am fairly new at the software and this process as a whole, so I apologize if I seem like I don't really know what I am talking about. I am trying to feel my way through this since there is no Manual for the software, and I feel I pretty comfortable with it, but still have issues occasionally. Thanks for all your help!

Posted: Thu May 10, 2007 10:34 am
by MichaelNesmith
Like I was saying...the icon is read from the file on your local machine at build time. And it is installed onto the end-user's machine at that "funny" location at install time
