Proces uruchamiania .NET z wyższymi prawami

Próbuję uruchomić program z prawami administratora za pośrednictwem aplikacji C #, która jest wywoływana tylko z prawami użytkownika.

Kod

<code>        ProcessStartInfo psi;
        try
        {
            psi = new ProcessStartInfo(@"WINZIP32.EXE");

            psi.UseShellExecute = false;
            SecureString pw = new SecureString();
            pw.AppendChar('p');
            pw.AppendChar('a');
            pw.AppendChar('s');
            pw.AppendChar('s');   
            pw.AppendChar('w');
            pw.AppendChar('o');
            pw.AppendChar('r');
            pw.AppendChar('d');
            psi.Password = pw;
            psi.UserName = "administrator";

            Process.Start(psi);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
</code>

Uruchamia winzip, ale tylko z prawami użytkownika. Czy jest coś, co robię źle, czy może nawet rozpocząć proces z wyższymi prawami?

Dziękuję Ci!

Edytuj: Oto powód pytania, może pomaga zrozumieć, czego naprawdę potrzebuję.

Użyłem na przykład winzip, aby uzyskać ogólne pojęcie o tym, co jest nieprawidłowe w moim kodzie. Rzeczywisty problem polega na tym, że nasza firma korzysta z 2 wersji programu. Zanim jednak uruchomisz którąkolwiek z wersji, musisz zaimportować plik DLL z regsvr32 (z prawami administratora). Teraz chciałbym napisać program, który pozwoli użytkownikowi wybrać wersję, zaimportować bibliotekę DLL i uruchomić poprawną aplikację.

questionAnswers(3)

yourAnswerToTheQuestion