Ich habe eine Anwendung (Windows-Dienst), die in einem Verzeichnis im Ordner Programme installiert ist. Neben dieser Anwendung befindet sich eine weitere WinForms-Anwendung, mit der (unter anderem) der Dienst konfiguriert wird. Wenn es konfiguriert wird, speichert es Änderungen an einer Konfigurationsdatei, die sich neben dem Dienst befindet.Richtiger Weg zum Umgang mit UAC in C#
Bei Ausführung unter Vista/Win7 verhindert UAC, dass der Benutzer in die Konfigurationsdatei speichern kann. Was ich möchte, ist tun:
- legte das Schild-Symbol neben dem Menüpunkt
- Aufforderung für UAC-Berechtigungen konfigurieren, wenn dieser Artikel zeigen gewählt
- nur das Symbol/prompt, wenn sie auf eine Betriebssystem, das erfordert (irgendwo installiert ist z. B., wenn die Anwendung, die nicht UAC Erlaubnis erforderlich ist) es
- nur zeigt das Symbol/Eingabeaufforderung, wenn Berechtigungen erforderlich sind
ich nicht wirklich die gesamte Anwendung ausgeführt werden soll als Administrator, da er auch für andere Zwecke verwendet wird, für die keine UAC-Berechtigungen erforderlich sind (daher ist das Festlegen einer Anwendungsmanifestdatei nicht die richtige Lösung). Ich nehme auch an (korrigiere mich, wenn ich falsch liege), dass, sobald UAC-Berechtigungen gewährt wurden, mein existierender Prozess die Aktion nicht ausführen kann und dass ich einen neuen Prozess starten muss.
Wie kann ich das am besten erreichen?
Ich musste ein bisschen durch die Ringe springen, um das richtig zu programmieren, aber dank Matthew habe ich etwas, was ich oben beschrieben habe. – adrianbanks
Gut zu hören. UAC macht manchmal Probleme, aber deine Software ist wirklich besser dafür. –