This is a feature of the MSI installation (see MSDN topic on MSI
Resiliency). Basically, when MSI installs the shortcuts they are associated with an MSI component. When the shortcut is invoked, MSI checks to make sure all the installed stuff that is also associated with the same MSI component (files, registry entries, etc.) are correctly installed. If not, it will open the install package and attempt to (re)install them. There are a number of things that can trigger the resiliency feature. One of these can occurwhen the shortcuts are being installedto a
per-user locationinstead of to
per-machinelocation. In this scenario, the shortcuts are being installed for the user only and are "advertised" for other users. When another user logs in, MSI detects that the MSI components associated with it are not installed for the new user and runs the install.
You can make sure this doesn't happen by ensuring all MSI components are being installed to only per-machine locations (registry values in HKEY_LOCAL_MACHINE, data files in appropriate "all users" location, etc.).
There are also things you can do to disable resiliency on a per-component basis (I think), but you would need to read up on the MSI Resiliency and per-user vs per-machine installation information on MSDN.