TechTalk

Thema: Betriebssysteme (Praxis)

Windows Problemlösungen

Problem: Scannen geht unter Windows 2000 nur, wenn man als Administrator angemeldet ist.

Betrifft:

Windows 2000 und Plustek OpticPro 9630p Scanner, möglicherweise auch andere TWAIN Scanner.

Beobachtung:

Hat der Anwender Administrator-Rechte, erkennen Programme wie Paint Shop Pro den Scanner als TWAIN-Gerät. Ist der Anwender als Benutzer angemeldet, wird das Gerät nicht erkannt oder steht nicht zur Verfügung.

Ursache:

Das Problem ist, wie so oft, schlechte Software, deren Programmierer meinen, dass die Entwicklung von Windows bei Windows 95/98 und Windows me aufgehört hat. Seit Windows NT gibt es in allen Nachfolgern, wie u.a. Windows 2000 und Windows XP, eine Detaillierte Rechteverwaltung auf Datei- und Registry-Ebene. Das bedeutet konkret, dass es verschiedene Nutzer geben kann, die auch jeweils verschiedene Zugriffsrechte haben. Administratoren zum Beispiel, haben vollen Zugriff auf das System, während normale Benutzer an Systemdateien nichts ändern dürfen. Dummerweise haben einige Programmierer das noch nicht begriffen und sie versuchen nutzerspezifische oder temporäre Dateien im System-Verzeichnis oder im Programm-Verzeichnis unterzubringen, wo sie nichts zu tun haben. Nun, in diesem Fall geht es darum, dass die Software meines Scanners eine temporäre Datei im System-Verzeichnis anlegen möchte. Dummerweise dürfen aber Benutzer nicht ins System-Verzeichnis schreiben und das ist auch sinnvoll.

Lösung in 2 Schritten:

Als erstes muss man sicher gehen, dass die Scan-Software nicht läuft und kein Programm geöffnet ist, welches den Scanner nutzen möchte. Man muss dazu als Administrator angemeldet sein, oder einen Explorer als Administrator gestartet haben, denn man braucht vollen System-Zugriff, um die Modifikationen durchführen zu können.

Schritt A: Anpassung der Dateirechte

Damit das Scannen auch ohne Administrator-Rechte klappt, muss man sämtliche Dateien, die für unsere Scan-Software wichtig sind und modifiziert werden, für Benutzer freigeben. Das geht mit einem Rechtsklick auf die Datei unter dem Punkt "Eigenschaften" und "Sicherheit". Ein Benutzer braucht die Rechte "Lesen", "Schreiben" und "Ändern", nicht jedoch "Vollzugriff". In meinem Fall sind das die Dateien:

Und das Verzeichnis, wo man die Scan-Software installiert hat, mitsamt all seinem Inhalt, z.B.:

Da sich in dem Verzeichnis der Scan-Software möglicherweise auch .exe, .com oder .dll Dateien befinden, die die Haupt-Angriffsziele von Viren sind, muss man bei diesen Dateien die Rechte "Ändern", und "Schreiben" für Benutzer wieder wegnehmen, um keine unbeabsichtigten Sicherheitslücken aufzureißen.

Nun kommt ein Haupt-Knackpunkt: Die Software, die mit dem Plustek 9630p arbeitet, versucht eine Datei "FILELOCK.TMP" im Verzeichnis "C:\WINNT" zu erzeugen, was ihm natürlich verweigert wird. Um nicht das WINNT-Verzeichnis komplett freigeben zu müssen, erzeugt man ein neues, leeres Textfile im Windows System-Verzeichnis (bei Windows 2000 ist das "C:\WINNT"), dann nennt man das erzeugte File auf "FILELOCK.TMP" um und passt die Rechte der Datei so an, dass Benutzer dieses File "Lesen", Schreiben" und "Ändern" dürfen, aber auf keinen Fall "Vollzugriff" haben, da man verhindern muss, dass das File gelöscht wird, um das Problem nicht erneut zu bekommen.

Schritt B: Anpassung der Rechte auf Registry-Schlüssel

Bevor man hier weitermacht, sollte man testen, ob das Scannen schon funktioniert. Wenn ja, ist alles in Butter, doch möglicherweise reichen die oben beschriebenen Modifikationen nicht, um Benutzern das Scannen zu ermöglichen. Da es auch für Registry-Schlüssel eine Rechtevergabe gibt, müssen auch hier die Rechte zur Not angepasst werden, möglicherweise möchte die Scansoftware die Registryschlüssel nämlich ändern, darf dieses aber nicht.
Dummerweise ist das Programm "regedit" für die Anpassung der Rechte in der Registry nicht geeignet, aber das Programm "C:\WINNT\system32\regedt32.exe" macht den Job hervorragend. Man muss das Programm einmal als Administrator starten und als Benutzer, da sowohl Administratoren, als auch Benutzer einen eigenen Bereich in der Registry haben (HKCU).
Unter dem Menüpunkt "Ansicht" -> "Schlüssel suchen" sucht man nun für jeden Bereich (HKLM, HKU, HKCU, HKCC, HKCR) nach Schlüsseln für die Schlüsselwörter "TWAIN", "SCANNER" oder "PLUSTEK". Für jeden der gefundenen Schlüssel ändert man unter dem Menupunkt "Sicherheit" -> "Berechtigungen" für alle Benutzer oder, sollte keiner eingetragen sein, für den Punkt "Eingeschränkter Zugriff" die Rechte auf "Vollzugriff".

Sind diese Modifikationen gemacht, so sollte der Scanner auch für Benutzer funktionieren, bei mir zumindest tut er's.

[Zurück zum Inhalt]
[Hauptseite neu laden]

Valid HTML 4.0!