Shortcut icons in InstallAware9

Got a problem you cannot solve? Try here.
ElenaN
Posts: 21
Joined: Thu May 14, 2009 5:43 am
Location: Kiev, Ukraine

Shortcut icons in InstallAware9

Post 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
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post 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.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
ALive
Posts: 109
Joined: Mon Apr 27, 2009 5:54 am
Location: Russia

Post 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!
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Please send a reproducing project.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
ALive
Posts: 109
Joined: Mon Apr 27, 2009 5:54 am
Location: Russia

Post 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!
Last edited by ALive on Wed May 20, 2009 6:53 am, edited 2 times in total.
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Excellent research :) If only all reports were this sophisticated :)
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
ALive
Posts: 109
Joined: Mon Apr 27, 2009 5:54 am
Location: Russia

Post 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!
ALive
Posts: 109
Joined: Mon Apr 27, 2009 5:54 am
Location: Russia

Post 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!
bokkie
Posts: 767
Joined: Sun Feb 08, 2009 6:30 am

Post 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? :lol:
Peter. Smartly dressed, he still resembles an unmade bed.
InstallAware MVP
dsparti
Posts: 4
Joined: Tue Jul 15, 2008 5:35 pm

Missing Icons

Post 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.
dsparti
Posts: 4
Joined: Tue Jul 15, 2008 5:35 pm

Icon Issue Fixed

Post 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.
mwhouser
Posts: 36
Joined: Wed Oct 08, 2008 12:26 pm

Post 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
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post 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?
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
mwhouser
Posts: 36
Joined: Wed Oct 08, 2008 12:26 pm

Post 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
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post 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?
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Post Reply