I have a Visual Studio 2013 Windows Forms solution with a setup/installer project (VB.NET 4.5 and Windows Installer 4.5).
I have the installer adding a Start Program folder and item, ie, "Start/All Programs/My Company/Application Name".
The installer works pretty much as advertised except that the context menu doesn’t show several items which I would expect to see.
Here’s a "normal" Program item context menu (for Skype, say) on the left and the one for my application on the right:
Note the absence of "Run as Administrator", "Open file location", "Pin to Start Menu", etc.
I looked further and if I compare the properties of each Program Menu item, I see that Skype is targeting an explicit ".exe" while my own is targeting what I expect is a whole Program Group (Skype on the left, my application on the right):
Note also, that I can’t edit Target.
Now, if I manually add my application's ".exe" to the Program Group, the properties and context menu appear the same as for Skype:
So then I checked the Windows Installer shortcut setting in the installer project's File System settings. As far as I can determine, it only allows me to create a shortcut to the solution's Primary Output, and I can’t explicitly shortcut the KeyOutput ".exe".
Can anyone shed any light on this? Am I missing something obvious?
UPDATE: To clarify what I need, I would like the installer to create a Program Menu item shortcut as per the Skype example, with all of the same context menu options.
UPDATE: After making Stein's suggested MSI change using Orca, validation fails with a couple of errors:
ICE43 ERROR Component 'C__667B7EAE74690565610625BA20DE4CEE' has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file.
ICE57 ERROR Component 'C__667B7EAE74690565610625BA20DE4CEE' has both per-user and per-machine data with a per-machine KeyPath.
(There is an additional warning unrelated to the manual change:
ICE90 WARNING The shortcut '_2B5AE78F623048DC8EDAB2174FC1AB82' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
This can be resolved by further manually changing the key to include, say, a lower-case, eg _2b5AE78 ...)
Unfortunately, I've found that when using the modified MSI more often than not, the Program Group isn't actually created at all. Initially, it seemed to work, but thereafter, not. So I've reverted to the unmodified MSI and just sucked up the context issue as it's really not worth the pain.