I've been keeping my desktop totally free from shortcuts. I'd rather not have to take action to do so.
I don't think you can disable all programs from creating shortcuts, but I use Fences.
It lets you group icons on the desktop, but most importantly, when you double click on the desktop it hides all the item that are not in the fences.
There is no overwriting setting I am aware of that stops it, however you have three options - one dangerous, one that sort of bypasses and one safe!
Edit security settings on the following folders: (Go one folder up, right click on it, and do properties)
Next, go to the security tab and click edit. You want to put the Deny property on both Modify and Write. You should do this for just your user if the installer runs under your user.
This has the downside that you cannot create icons, but it should work.
Simply delete any icon that is generated by an install!
Right click anywhere on the desktop where there are no items. Expand the view option and untick "Show Desktop Icons"... This of course has the downside that you will not have any icons - but if this is what you are trying to achieve, it doesn't matter!
Here's a simple way using Scheduled Tasks, and no need to write custom scripts or programs.
I set up a scheduled task to delete icons. It's somewhat imperfect, since it runs periodically (and after MSI installs complete) but it works (and after using it for 6 months: it works quite well). It deletes links directly on the desktop of both the current user and the "Public" user's profile, though this is of course dependent on having permission to do so.
The task is created as follows:
Here's the task, which you can save as a .xml file and then import into the Windows Task Scheduler:
I don't know if there's a way to do it within Windows but I do know that this BASIC code will work:
This automatically deletes all shortcuts on the desktop.
Otherwise, I don't know of any way except manually deleting them