I’ve now seen this type of issue a couple of times with App-V 5.0. When I publish an application, sometimes the shortcut icon does not display. The icon appeared fine in the sequencer, it also appears fine in the sequencer when I open the application for edit or upgrade. So, what’s going on?
Note: I was using App-V 5.0 hotfix 4 for sequencing and Client.
Journey to the Answer
First, I checked my reports.xml file to see if any .ico files were excluded. Perhaps this application put the icon files in an excluded folder. Not likely but the reports file is always my first port of call. Nothing showed up in the report this time….
Next, I opened up the Event logs on the Client Machine to see if there was any issues during the publishing of the application. Maybe it would show a missing icon file. The Analytic and Debug logs show any publishing issues , as well as issues with the Shortcuts subsystems. But this all came up empty.
Next up was checking out the AppXManifest.xml file, which has become a feature in all of my App-V 5.0 troubleshooting. I checked for any references to .ico files…NADA! I searched for ICON to see what the default icon and my shortcut icon were set to. I found that this was pointing to .exe file…the file did exist in the directory it was pointing to. I found this odd…I thought an Icon would point to a .ico…for this particular application, I didn’t modify anything to do with the shortcut. I left it as default…so what the hell was going on.
<appv:Icon>%ProgramFiles(x86)%\FreeMind\Freemind.exe</appv:Icon>
As a not so interesting aside. I’ve used the App-V 4.x Sequencer as my own icon extractor in the past. It actually works great, if you open the sequencer, add an application and point to .exe it will grab the icon and place it in the scratch directory, you can then take a copy of it. The only time I’ve had issues with icons not appearing like this is App-V 5.0 was when I accidentally deleted some .ico files from the Windows Installer folder…but I didn’t delete any AND none were excluded in this case. The Sequencer simply just didn’t extract the icon file. There was a pretty simple work around.
Answer
I opened the Application for Upgrade with my sequencer, edited the Shortcut and browsed to a different file for the Icon. I then browsed to my .exe again. The name field got cleared out, I re-typed in the name and saved the application again and walla, the shortcut worked!
Checking the AppxManfiest.xml file, I found that the shortcut icon is now pointing to an .ico file:
<appv:Icon>[{ProgramFilesX86}]\FreeMind\FreeMind.exe.0.ico</appv:Icon>
It appears in this case the sequencer did not capture the icon file successfully, it didn’t extract the icon from the .exe. In fairness, this was the I have not his this problem too often, but I did try re-sequencing a few times on different machines and saw the same result. So thought it was worth posting this blog to help others and maybe save them some time. In most cases I would bet the issue will be caused by deleting a folder that contained the .ico file, you’ll see that in the AppXManifest.xml file but this one was a little different. I hope this helps..