I am not sure whether it is possible or not, Can we change UAC execution level dynamically?

1. We want to show user 2 options : A. Machine Wide B. Per-User
2. If user selects Machine Wide option then we want to ask user for permission(UAC) and set installation path in Program Files.(like highestAvailable)
3. If user selects Per-User option the we don't want to ask user permission and set installation in LocalAppData.(like asInvoker)

I guess its not possible but can we do installation in Program Files without UAC permission.

Thanks in Advance!