2012-02-29 14 views
7

Istnieje "Projekt instalacji" w VS. Podczas instalacji uruchamiam inny proces:Proces uruchamiania pod bieżącym użytkownikiem

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
//fill StartInfo and run call Start() 
process.Start(); 

Jeśli uruchomię instalator pod Windows 7 i zainstaluję dla "Wszyscy", rozpocznij proces w ramach SYSTEM. Jeśli zainstaluję "Tylko dla mnie", rozpocznij proces w obszarze Bieżący użytkownik. Jak zawsze rozpocząć proces w obszarze Bieżący użytkownik?

Odpowiedz

4

Znalazłem bardzo prosty solution. Wszystko, czego potrzebujesz, wystarczy utworzyć nową klasę i skopiować tekst z tego linku.

Aby uruchomić połączenie procesu ProcessAsUser.Launch("program name");

-1

Użyj klasy ProcessStartInfo i jej właściwości UserName, a następnie użyj jej jako metody statycznej dla metody Process.Start.

ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 
Process.Start(startInfo); 
+0

Próbowałem już wcześniej, ale dostałem następny komunikat o błędzie: "Stadko otrzymało złe dane". I nie wiem, jak rozwiązać ten problem. – kralex

+0

co z hasłem? to nie zadziała bez niego :) – John

0

miałem podobny problem: My rozszerzenie konfiguracji (niestandardowe działania) potrzebne uprawnienia administratora który wywiódł skrzynkę elewacji. Po uruchomieniu aplikacji pod koniec "Just for Me" proces miał ustawienia wprowadzone w kontekście administratora. Na przykład moje konto użytkownika lubi widzieć wszystkie rozszerzenia plików w Eksploratorze Windows, ale konto administratora zostało skonfigurowane tak, aby je ukrywać. Więc w każdym otwartym oknie pliku nie widziałem rozszerzeń. Do tego ten fragment kodu leczyć pracował:

ProcessStartInfo startInfo = new ProcessStartInfo(ShortcutTarget); 
startInfo.LoadUserProfile = true; 
startInfo.UseShellExecute = false; 
Process.Start(startInfo); 

Działa tylko w trybie „tylko dla mnie”, „każdy” w Ustawienia administratora są używane. Ale dla mnie to jest w porządku.

Powiązane problemy