Wieso muss man DLLs manuell registrieren?

M

Mr. Snoot

Gast
Hio,

wollte gerade Photoshop CS3 installieren, doch dabei ist eine Fehlermeldung aufgetaucht (in diesem Fall ein bekannter Fehler unter Vista x64). Laut Google solle man eine DLL-Datei manuell regisitrieren - hat auch geklappt, nur frage ich mich, was genau man dabei eigentlich macht.

Was genau muss warum registriert werden, und warum kann das Programm die Registrierung nicht auch selbst machen (mit den kryptischen Fehlermeldungen, die die Programme dabei ausspucken kann man ja nichts anfangen)?
 
Eine DLL ist so gesehen ein eigenständiges Programm. Damit ein anderes Programm so ohne weiteres auf sie zugreifen kann, muss sie im System "angemeldet" werden. Bei der "anmeldung" (nennen wirs ab jetzt wieder Registrierung) werden ein paar Einträge in die Windows Registry gemacht, Pfad zur DLL und ich glaub auch die Art, wie sie aufzurufen ist. Das genauer zu erklären würde allerdings den Rahmen und auch meinen Wissensbereich sprengen ;)

Warum das ganze nicht automatisch funktioniert? Unter Vista x86 funktioniert es, aber da MS wohl bei der x64 Version den Gürtel noch etwas enger geschnallt hat, was Berechtigungen zur Änderung am System angeht, denke ich liegt es wirklich schlicht und Einfach am falschen Benutzerkontext in dem das Programm ausgeführt wird und die Registrierung somit nicht abgeschlossen werden kann weil Berechtigungen fehlen.
Wenn du dann aber regsvr32 über Start/Ausführen oder eine Administratorkonsole aufrufst, wird der Prozess mit Administratorrechten ausgeführt und die Registrierung kann abgeschlossen werden.

Und ein Programmierer wird vermutlich sehr wohl etwas mit den kryptischen Fehlermeldungen anfangen können, dazu kann ich aber nichts sagen, weil ich nicht weiß, worauf du dich da beziehst. Würde aber vermutlich auch normale Benutzer einfach nur total verwirren bzw. noch mehr verwirren ;)
 
Okay, die DLL wird durch die Registierung also quasi dauerhaft (wieso ich sie registriere weiß die DLL ja in dem Moment nicht ;)) freigegeben!?
 
Nicht ganz, durch die Registrierung wissen nur andere Programme, wo nach ihr zu suchen ist ;)
 
Zurück
Oben