2016-07-05 24 views
-1

Ich entwickelte eine C# Windows Form-Anwendung. Diese Anwendung benötigt Administratorrechte. Jetzt möchte ich einen Prozess ohne Admin-Rechte starten, weil ich in diesem Prozess einen speziellen Ordner Pfad wie Dokument, Temp, Appdata usw. bekomme. Derzeit gebe ich den Admin-Pfad dieses Ordners, da der Prozess mit Admin-Rechten beginnt.So starten Sie den Prozess ohne Administratorrechte

Wie kann ich den Prozess ohne Administratorrechte starten, auch wenn die Anwendung mit Administratorrechten läuft ???

+1

Es gibt einen großen Unterschied zwischen Administratorrechten und die Ausführung als Administrator .. Wenn Sie als Administrator ausgeführt haben, dann ist das Ihr Benutzer, wenn Sie mit Admin-Rechten ausgeführt haben, dann sind Sie immer noch – BugFinder

+0

Werfen Sie einen Blick auf 'ProcessStartInfo' . Sie können ihm den Benutzernamen und das Passwort des Benutzers übergeben, unter dem er ausgeführt werden soll. https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo(v=vs.110).aspx –

+0

[Wie kann ich einen nicht erhöhten Prozess von meinem erhöhten Prozess starten und umgekehrt] (https: //blogs.msdn.microsoft.com/oldnewthing/20131118-00/?p=2643). Natürlich ist es von einer Win32-Seite der Dinge damit umzugehen, so dass Sie möglicherweise durch ein paar Reifen springen müssen, um das verwaltete Äquivalent zu schreiben. –

Antwort

0

Werfen Sie einen Blick auf die Datei app.manifest im Ordner Eigenschaften. Entfernen Sie die folgende Zeile ein:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

Fügen Sie folgende Zeile statt dies:

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

hilfreich diese Antwort sein kann.

http://weblogs.asp.net/kennykerr/Windows-Vista-for-Developers-1320-Part-4-1320-User-Account-Control

Auch diese Abhilfe überprüfen.

Windows Registry Editor Version 5,00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker] 
@="Run without admin rights (UAC)" 

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command] 
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\"" 

einfach - fügen Sie im Kontextmenü auf App. Dateiauswahl, die ohne Administratorrechte ausgeführt werden soll. In einigen Fällen - kleine Menge 0,1% der Programme fragen möglicherweise zweimal UAC Aufforderung.

Speichern Sie in name_of_file.reg und fügen Sie es der Windows-Registrierung hinzu.

Verwandte Themen