I have an MSI built via WiX, it’s per-user and doesn’t display the UAC prompt if the user has rights to the destination folder. However, if the destination folder is in Program Files, it errors with “Insuficient privileges”.
How can I show a UAC prompt in the case the destination folder is not writable?
It doesn’t really work that way. Per User installs should never require elevation and should never write to Program Files as that’s a per machine location. Instead it should install to %LocalAppData%\Programs\Company\Product.
Read the following for a lot more background information. Parts apply and parts may be beyond scope ( dual per-user / per-machine requirements ):
Authoring a single package for Per-User or Per-Machine Installation context in Windows 7