Reputation: 31723
I have a Application that is deployed to client machines with a Visual Studio 2010 Setup Project. My App creates a Desktop Shortcut to the main exe file.
If I open the shortcut's properties and choose "change icon" I see that the icon used for the shortcut is something like:
%SystemRoot%\Installer\{5B821236-4F7A-4AC9-8BA6-441F456F12F0}\_83771230001D45618121E3.exe
Hoever, I want it to be
%Program Files%\MyCompany\MyApp\MyApp.exe
or
%Program Files%\MyCompany\MyApp\MyIcon.ico
Is there a way to achive that?
I already use a pice of Javascript that modifies my setup in a PostBuild Step to add
DISABLEADVTSHORTCUTS = 1
to the properties table in the Setup file. Maybe the solution is similar, but I don't know what to change.
Upvotes: 3
Views: 4840
Reputation: 31723
The real issue seems to be a bug in the Setup Project creating only low quality (48x48 px max) icons and has been confirmed by Microsoft but not been fixed until now.
You can fix this by editing the *.msi file with Orca:
Look at the Shortcut
Table, find the Desktop Shortcut, remember the Icon_
value.
Go to the Icon Table, wich contains entrys with a Name and a Data column. Locate the right Icon, Double Click the [Binary Data]
entry and browse for your high resolution icon.
Unfortunatly you have to do this everytime you recreate the setup project, but at least you have a good result. If I have some spare time I will try to automate the process and update this post.
Upvotes: 3
Reputation: 21416
Shortcuts created by Windows Installer automatically use a resource from Windows Installer cache ("C:\Windows\Installer" folder). This is the normal behavior and it's usually not a problem. So you could just ignore it.
However, if you really want to set a custom icon path, you can try using a custom action to create the shortcut manually.
Upvotes: 0