2010-12-05 14 views
0

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?

Antwort

1

Ich verstehe nicht, warum dies unter Windows 7 funktionieren würde. Die Dokumentation zeigt an, dass der Fehler derselbe sein wird.

Unter Windows Vista und später die DeleteIpForwardEntry Funktion nur aufgerufen werden kann durch einen Benutzer als Mitglied der Gruppe Administratoren angemeldet. Wenn DeleteIpForwardEntry von einem Benutzer aufgerufen wird, der kein Mitglied der Administratorgruppe ist, schlägt die Funktion Aufruf fehl und ERROR_ACCESS_DENIED wird zurückgegeben.

Ihr Post gibt auch an, dass der angemeldete Benutzer ein Administrator ist. Ist es möglich, dass Ihre Windows 7 und Windows Vista Tests für verschiedene Benutzer sind - unter Windows 7 ist Ihr Testbenutzer ein Administrator, auf Windows Vista ist der Testbenutzer nicht?

Es gibt keine Möglichkeit zu umgehen, um die App auf diese Weise zu betreiben. Können Sie dies erneut als Windows-Dienst implementieren, der in einem Administratorkonto ausgeführt wird, das interaktive Anmeldeereignisse auf dem Computer ausführt, um die IP-Konfiguration nach Bedarf zu ändern?

+0

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. –

+0

Es ist rätselhaft, weil das Verhalten dasselbe sein sollte, auf den ersten Blick. Halten Sie die neuesten Informationen hier und überall aktualisiert. –

+0

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. –

Verwandte Themen