Würde es das ganze nicht vereinfachen, wenn du für das Update eine eigene Exe startest, welche im Manifest 'requiresAdministrator' stehen hat?
Das Update könnte dann nur von Admins ausgeführt werden (verursacht natürlich auch eine
UAC-Abfrage für das Update, falls
UAC aktiv ist).