Frage

Ich habe eine WPF -Anwendung geschrieben. Wenn es auf Client -Maschinen installiert ist, werden sie für einen Benutzernamen und ein Kennwort aufgefordert, damit sie die Administratorrechte zur Verwendung der Anwendung haben.

Ich benötige Administratorberechtigte, da meine Anwendung Ports öffnet und Dateien in das Dateisystem schreibt.

Ist es möglich, jedem Benutzer die Anwendung auszuführen, ohne für einen Administrator -Benutzernamen und ein Passwort aufgefordert zu werden und die Anwendung so zu erhöhen, dass sie mit Administratorrechten ausgeführt werden?

Vielen Dank

War es hilfreich?

Lösung

Wenn Ihre App installiert ist, wird die Administratorrechte aufgefordert, wenn die Installation Das Programm wurde für die Administratorausführung markiert. Dies ist normalerweise nur erforderlich, wenn Sie an einem Ort installiert werden möchten, der mehreren Benutzern zur Verfügung steht, z. B. in der Ordner -Hierarchie der Programmdateien. Ein MSI erhöht standardmäßig eine UAC -Eingabeaufforderung, aber es ist einfach zu Machen Sie einen MSI mit WIX, der keine UAC -Eingabeaufforderung anzieht.

Wenn Ihre App ausgeführt wird (von einem Benutzer ohne Administratorrechte), fordert sie die Administratorrechte auf, wenn die App selbst wurde für die Administratorausführung markiert. Dies steht teilweise unter Ihrer Kontrolle, kann jedoch von Benutzern auf dem Client -Computer überschrieben.

Eine App, die in Dateisystemordner schreibt, erfordert keine Administratorrechte, solange der Benutzer, der die App ausführt, die Berechtigung für diese Ordner enthält. Im Allgemeinen können Sie diese Arbeit durchführen, indem Sie an einen Ort schreiben, der jedem Benutzer zugänglich ist.

Ich glaube jedoch, dass das Öffnen eines Ports Administratorrechte erfordert, wenn die App mehr als nur statistische Informationen abfragt.

Wenn Ihre App die Ausführung von Administratorrechten benötigt und Ihre Nicht-Adminampfer-Benutzer nicht während der Programmausführung eine UAC-Eingabeaufforderung sehen müssen, empfehle ich, dass Sie Ihre App in 2 Teile unterteilen.

Der erste Teil ist ein Windows -Dienst, der unter einem privilegierten Benutzer wie dem LocalSystem ausgeführt wird und so konfiguriert ist, dass sie mit Desktop -Programmen interagieren. Dieser Dienst erledigt alle admin-bezogenen Aufgaben und muss von einem Installateur eingerichtet werden, der die Administratorrechte verlangt.

Der zweite Teil ist das WPF -Programm, das nichts Privilegiertes tut. Wenn Sie dieses WPF-Programm als eine Höhe markieren, werden Ihre Endbenutzer beim Ausführen nie eine UAC-Eingabeaufforderung sehen, da alle privilegierten Arbeiten durch einen Service geleistet werden, der immer ausgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top