Non usare l'altezza manifesta. Invece fare funzionare la vostra messa a punto con i privilegi normali, denominare ShellExecute con i verb=runas e denominare la vostra messa a punto ancora per esempio con un parametro. Alla fine potete informare (un ExitCode, SendMessage o un evento) la prima messa a punto, funzionante come utente, per iniziare la vostra applicazione principale (come utente naturalmente).