Der Aufruf von DeleteIpForwardEntry() funktioniert unter Windows XP und Windows 7 einwandfrei. Unter Windows Vista schlägt er jedoch mit ERROR_ACCESS_DENIED fehl.DeleteIpForwardEntry Zugriff verweigert unter Vista
Die Dokumentation besagt, dass "dem Benutzer die erforderlichen Administratorrechte auf dem lokalen Computer fehlen oder die Anwendung nicht in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausgeführt wird."
Nun, in meinem Fall ist der Benutzer der Administrator auf dem lokalen Computer und die Anwendung wird bei der Anmeldung über SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run ausgeführt, so dass ich nicht wirklich sagen kann, in einer "erweiterten Shell" zu laufen ".
Gibt es eine Möglichkeit, diese "Catch 22" -Situation in Vista zu lösen?
Steve, danke und +1 für deine Antwort. Ich muss Ihre Frage zu den Benutzern noch einmal überprüfen, aber ich bin mir fast sicher, dass sie sowohl in Vista als auch in 7 einfach die Standardadministratoren sind, die vom Installationsprogramm erstellt wurden ("Hauptbenutzer" in XP ...). Um dies als Windows-Dienst wieder zu implementieren, habe ich über diese Option nachgedacht, aber das wird sicherlich viel mehr Arbeit auf meiner Seite erfordern. –
Es ist rätselhaft, weil das Verhalten dasselbe sein sollte, auf den ersten Blick. Halten Sie die neuesten Informationen hier und überall aktualisiert. –
ja das Verhalten sollte das gleiche sein, aber, wenn ich mich nicht irre, unterscheidet sich Windows 7 * * von Vista in der Handhabung von UAC. Mein Verständnis ist, dass was zu Windows 7 den Ruhm gebracht hat und lobt von denen, die Vista kritisiert haben. Vielleicht vermisse ich etwas an dieser Front. –