Page 1 of 2
Shortcut icons in InstallAware9
Posted: Fri May 15, 2009 4:24 am
by ElenaN
After upgrade from InstallAware 8 to InstallAware 9 I faced strange issue with my start menu shortcuts.
I had 3 shortcuts with 3 different icons, but after InstallAware upgrade all shortcuts are shown with same icon. I opened my MSI in Orca and there is only one row in the Icon table (there were there rows in previous builds made by IA8).
I tried to change all icons, than deleted all shortcuts from script and recreated them again, but nothing changed – three icons are mentioned in IA script, but only one is in the MSI Icon table after compilation.
Maybe someone here also faced such issue and could help me with solution
Posted: Sun May 17, 2009 7:40 pm
by MichaelNesmith
InstallAware 9 itself creates multiple, distinct icons in the Start Menu, which works very well - so I am inclined to think this might not be an upgrade problem.
Posted: Tue May 19, 2009 6:26 am
by ALive
Hi!
I've encountered the same issue. After moving to 9.0 version I've noticed that all shortcuts have the same icon (8 shortcuts). Pretty weird.
I've tried to start a brand new project on IA 9.0 and have the same issue. Two test shortcuts have the same icon after the installation. Moreover, I've changed the icon files for both of the shortcuts and after the installation my shortcuts used first icon file, instead of two new ones.That's weird, because I've delete the first icon file.
I'm sure this is some kind of a bug. If anyone from IA could take a look at this issue, I would be very grateful, cause we're on a product release soon.
Maybe it's already fixed in 9.01, currently i have 9.0 (April, 20), if anyone
have any clues about that, I would be very glad.
Thanks a lot!
Posted: Tue May 19, 2009 5:18 pm
by MichaelNesmith
Please send a reproducing project.
Posted: Wed May 20, 2009 6:22 am
by ALive
Hi, Michael
I guess, i found the clue of why this happen.
First of all, this issue is easily to reproduce. Especially on version 9.0, and I think I know why (though our testers found it on 8.01). You can create a Basic Setup, add a couple Create Shortcut commands, and add (this is important) an *.ico file for each shortcut (We use separate icons for each EXE and CMD files). After the compilation just take a look at the msi file (with Orca for example), and you can see that a generated files for icons would be the same!!!
I'll explain this in detail. In SVN we store icons in a bunch of subdirectories, so locally i have such path for the icons:
E:\\Depot\\trunk\\Bin\\Installer\\Graphics\\Icons\\Configure.ico
E:\\Depot\\trunk\\Bin\\Installer\\Graphics\\Icons\\Help.ico
and so on. And here what i've seen inside the Orca (names for the icon files, that would be placed inside C:\\WINDOWS\\Installer\\{PRODUCTID}\\):
E3a5cDepot5ctrunk5cBin5c.ico
E3a5cDepot5ctrunk5cbin5c.ico
They are identical!!
The name of the file is generated through the path for the file:
E - is the disk letter
3a5c - in HEX is ":\\"
Depot - first folder name
again 5c, that is for "\\"
trunk - subfolder
and so on...
I guess you got my idea.
A moment before i've noticed a compiler variable named LONGCOMPONENTS whos value by default, as i know, is set to FALSE (TRU only for backward compatibility). For the experimental purposes i've tried to set this value to TRUE and take a look how the names of the files become now:
hics5cIcons5cConfigure.ico0.ico
cGraphics5cIcons5cHelp.ico0.ico
the file names are different (because the name now are generetad from the end path of the file, but not from the begining!!), and btw they are all inside the msi file. After installation i can see all icons for each shortcut intact.
So, now for the conclusion...
I guess it's some kind of a bug. Maybe IA dev team can change the filename generation mechanism as it was previously, or like it works with LONGCOMPONENTS=TRUE.
Thanks a lot!!
Have a nice day!
Posted: Wed May 20, 2009 6:35 am
by MichaelNesmith
Excellent research

If only all reports were this sophisticated

Posted: Wed May 20, 2009 6:37 am
by ALive
2 ElenaN: You can use the workaround for this issue as a quick solution.
Just IMO, i think it would be nice to have icon file name generated as a {GUID}.ico (for example, or, at least, to have an <iconfile>.ico name to be inside that generated MSI table item name). That would make sure that the name is unique.
Have a nice day!
Posted: Wed May 20, 2009 6:47 am
by ALive
MichaelNesmith wrote:Excellent research

If only all reports were this sophisticated

Thank You, Michael!
We're recently bought IA 9.0, so i guess, this post won't be my last

I'm leading the installer development in a company i'm working for (lead, because i'm the only installer developer

), i've already found some issues, i'll try to give as much info as i can for each one, if possible.
Definitely, IA 9.0 has more cool stuff inside.
Thanks a lot for the new version. It shipped in exact time for us (especially with x64 versions of prereqs) and localization packages.
Have a nice day!
Posted: Wed May 20, 2009 7:23 am
by bokkie
ALive wrote:MichaelNesmith wrote:Excellent research

If only all reports were this sophisticated

I'm leading the installer development in a company i'm working for (lead, because i'm the only installer developer

),
Nice post ALive. Thoroughly explained. So you are the lead installer developer as well are you? Like you, I'm the, ahem, only one in the company so that makes me Lead, Chief Honcho, Sir, and Boss, all in one. Pity the salary does not match the titles we have, eh?

Missing Icons
Posted: Fri Jun 12, 2009 9:32 am
by dsparti
I'm having the same issue. Where is the LONGCOMPONENTS variable? I've looked in the MSI code and I don't see a variable with that name. This is a really frustrating issue. I built the original install with InstallAware 8 and it worked perfectly. I upgraded to version 9 and now all of my installs are broken! Is there a fix for this? Is there an upgrade for version 9? I'm very frustrated and disappointed that all of my previous installs are now broken after "upgrading". You're rapid response is appreciated.
Icon Issue Fixed
Posted: Fri Jun 12, 2009 10:49 am
by dsparti
OK, I finally figured out how to add the LONGCOMPONENTS compiler directive. Since it's not intuitive nor is it described in the online help, for those of you who may follow and scratch your head, here are the steps to fix the icon issue.
With your project open, click on the Project tab at the top. Click the Project Settings menu option. Select Compiler Variables in the treeview. Click the Add button. Manually type in LONGCOMPONENTS and set its default value to TRUE which you'll also have to manually type in. Note everything is upper case. Click the OK button to dismiss the add compiler variable dialog and you'll see the new variable in the list. Click OK again to dismiss the compiler variable dialog. Save your project then rebuild it. When you run the install, your icons will be where they're suppose to be.
I hope this helps everyone.
Posted: Fri Jun 12, 2009 11:23 am
by mwhouser
Version 9.03 of IA9 has the issue fixed for long directories like:
C:\\Temp\\My very long directory\\And another very long directory\\icon.ico
However, there's still an issue if the path is a UNC path like:
\\\\MyMachine\\MyShare\\My Very long directory\\And another very long directory\\icon.ico
Setting LONGCOMPONENTS=TRUE works around this issue.
...Matt
Posted: Fri Jun 12, 2009 7:56 pm
by MichaelNesmith
How long is your path? We were unable to reproduce this internally with a path length of 111 characters. You reinstalled both the 9.03 trial and the 9.03 license right?
Posted: Fri Jun 12, 2009 9:58 pm
by mwhouser
You can find a sample project here:
http://www.houser.ca/Pulse/IconProblem.zip
The icon paths in this project are:
\\\\loop2\\pi\\InstallData\\ProgramCommon\\DesignSpooler\\start.ico
\\\\loop2\\pi\\InstallData\\ProgramCommon\\DesignSpooler\\stop.ico
This project, when I build it using 9.03 creates 2 desktop shortcuts, but both are using the same icon. The project has them as 2 different ico files though. Also, under C:\\Windows\\Installer\\... there is only one ico file present, where there should be two.
I have also included the binaries that were built so you can see the problem.
My 9.03 is fully setup and licensed.
...Matt
Posted: Sun Jun 14, 2009 4:29 pm
by MichaelNesmith
I obviously cannot test with the same exact network paths, but it worked with even longer network paths here. You might not have installed the latest 9.03 trial - did you install just the license file?