Не используйте очевидную высоту. Вместо побегите ваша установка с нормальными привилегированностями, вызовите ShellExecute с verb=runas и вызовите вашу установку снова например с параметром. В конце вы можете сообщить (или ExitCode, SendMessage или случай) первая установка, как потребитель, для того чтобы начать вашу главную программу (как потребитель конечно).