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