Komfortabler Dateimanager mit vielen Funktionen

Benutzerkontensteuerung in Vista

By Sven on 26.09.2006 - 10:09 in Windows Vista

Bis einschließlich Windows XP arbeiten die meisten Anwender mit Administratorrechten. Damit dürfen sie alles machen, ebenso haben die ausgeführten Programme alle Rechte. Leider zählen dazu auch Würmer und Viren, so dass Microsoft mit dem kommenden Vista einige einschneidende Änderungen beschlossen hat. Dank der neuen Benutzerkontensteuerung laufen alle Programme grundsätzlich mit eingeschränkten Rechten. Mit den eingeschränkten Rechten ist der Schreibzugriff auf wichtige Verzeichnisse (Programmverzeichnis, Windows-Verzeichnis und Systemhauptverzeichnis) nicht mehr möglich, ebenso darf in der Registry nicht mehr in den HKML-Zweig geschrieben werden. Es ist zwar möglich, ein Programm über das Kontextmenü gezielt als Administrator zu starten, hier muss aber jeder Start zusätzlich bestätigt werden.

Für viele Entwickler dürfte sich die Benutzerkontensteuerung aber zu einer großen Herausforderung entwickeln. Ein Dateimanager sollte schon den Zugriff auf alle Verzeichnisse ermöglichen, ebenso darf ein Komprimierungsprogramm nicht daran scheitern, Dateien in das Programmverzeichnis zu entpacken. Das gilt natürlich auch für alle Anbieter von Hilfsbibliotheken für die Archivbehandlung, da diese in der Regel den eigentlichen Dateizugriff vornehmen. Auch das Ändern von Dateiverknüpfungen ist mit eingeschränkten Rechten nicht mehr möglich, da diese zwar im HKCR-Zweig gespeichert werden, der HKCR-Zweig aber eigentlich nur ein Unterzweig von HKLM ist. Das gleiche gilt auch für alle COM-Registrierungen.

In der Beta 2 hat mich die Benutzerkontensteuerung noch arg gestört, in der RC1 haben die nötigen Bestätigungsmeldungen aber stark abgenommen. Letztlich liegt es wohl an den Entwicklern selbst, die Anzahl der Meldungen durch ein durchdachtes Design auf ein nötiges Maß zu reduzieren. Mittlerweile muss ich sogar eingestehen, dass das Konzept durchaus seine Vorzüge hat.

Die Dokumentation für Entwickler ist allerdings mehr als spärlich. Es gibt zwar einige zum Teil recht umfangreiche Beschreibungen von Microsoft, die aber größtenteils nur das Konzept erklären. Hinweise zur technischen Implementierung findet man dagegen kaum, Beispielprogramme überhaupt nicht. Es bleibt einem derzeit also nichts anderes übrig, als sich selbst mühsam durch den Dschungel zu kämpfen.

SpeedCommander 11 läuft unter XP problemlos mit eingeschränkten Rechten. Bei Zugriffen auf den HLKM-Zweig der Registry, der z.B. beim Ändern der Dateizuordnungen oder bei der Registrierung von AddIns nötig ist, erscheint ein Anmeldedialog, mit dem man sich aus dem Programm heraus für die jeweilige Funktion kurz Administratorrechte verschaffen kann. Nach dem Verlassen der Funktion sind die erhöhten Rechte wieder weg. Unter Vista hilft dieses Verfahren aber nicht, da auch der normale Administratoraccount lediglich ein eingeschränkter Account ist und keine Rechte hat, auf den HKLM-Zweig der Registry zuzugreifen.

Das Konzept selbst ist aber das gleiche. Anstelle des Anmeldedialogs lässt sich unter Vista die Meldung der Benutzerkontensteuerung einblenden. Hier muss lediglich die Fortsetzen-Schaltfläche geklickt werden, die Eingabe des Administratorkennworts entfällt. Die eigentliche Änderung liegt aber darin, dass sich der Programmcode zum Schreiben in die Registry nicht in der Anwendung selbst befinden darf. Es ist zwingend erforderlich, diesen in eine zusätzliche Programmdatei (.EXE) oder in ein COM-Modul auszulagern.

Damit habe ich nun angefangen, allerdings wird erst der SpeedCommander 12 vollständig LUA-kompatibel sein. Der Hauptgrund liegt darin, dass fast jede Dateifunktion abgeklopft werden muss. Das fängt beim normalen Kopieren an und geht über FTP bis hin zu den Komprimierern, bei denen ich wohl den größten Aufwand erwarte. Das Kopieren selbst funktioniert bereits, hier schon einmal einige Screenshots.

Kopieren einer Datei in das Systemhauptverzeichnis:

Kopieren in das Hauptverzeichnis

Meldung der Benutzerkontensteuerung:

Meldung der Benutzerkontensteuerung

Kopierte Datei:

Ergebnis

Damit der Arbeitsfluss nicht ständig durch die Benutzerkontensteuerung gestört wird, ist die Meldung nur beim allerersten Zugriff auf ein geschütztes Verzeichnis zu sehen. Alle weiteren Zugriffe (auch auf andere Verzeichnisse) laufen dann ohne Störungsmeldung ab.

Es gibt 6 Kommentare zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. thomas sagt:

    krass wie die zeit vergeht – die 12er steht vor der tür so wie bald ja wieder mein burzeltach. ja auch ich werde älter *g*

    sag kommt sc 12 dann erst nach vista final raus oder? sonst hätte das ja wenig sinn *unsicher*

  2. Sven sagt:

    Kommt darauf an, wie man „bald“ definiert. Vor Mitte nächsten Jahres wird es den SC12 sicher nicht geben. Ob Vista dann schon verfügbar ist, kann ich Dir leider nicht sagen. 😀

  3. thomas sagt:

    hrhr ne dann ist ja ok 😀 kam der 11er nicht so in diesen monaten raus oder täusch ich mich da jetzt total?

    sag mal hattest du nicht ein programm das wenn zb die cdrom.sys nicht ersetzt werden darf ich dies trotzdem machen kann? weil irgendwie darf ich trotz admin rechte das unter vista nicht

  4. Rolf Lanzerath sagt:

    @thomas: Ich glaube, die Version 11.0 kam irgendwann letztes Jahr raus.

    @Sven: Wann kann man denn mit der Version 11.3 rechnen ???

    Gruß Rolf

  5. thomas sagt:

    @rolf

    da so vom gefühl dachte ich halt genau 1 jahr wäre halt rum. die paar tage mehr oder weniger 😉 11.3? glaub dann mußt dem sven das siedler abnehmen *g*

  6. Sven sagt:

    Denke mal, Mitte/Ende Oktober dürfte der 11.3 erscheinen. Zwischen zwei Hauptversionen liegen in der Regel immer 18-20 Monate. Das ist übrigens auch der Grund, warum sich Vista verspätet. 😉

Top