Visual Studio is very limited when it comes to customizing an installation. This is why most complex products use other setup authoring tools.
Visual Studio setup projects run custom actions with no impersonation by default (
msidbCustomActionTypeNoImpersonate). So the quickest solution would be to remove the no impersonation flag by editing the MSI with InstEdit!.
- Open the MSI using the InstEdit!
- Navigate through Tables -> Custom Action
- Selection Custom Action and Select the source that you need to execute context with NO IMPERSONATE Action.
- Click on the TYPE column value for the selected source.
- Look for "Execution Context: No Impersonate" and deselect the check box
- Save it and you are done!!!