Laden...

DLLs über die Registry im GAC austauschen und anschliessend von Programm verwenden

Erstellt von Tossi65 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.623 Views
T
Tossi65 Themenstarter:in
83 Beiträge seit 2010
vor 4 Jahren
DLLs über die Registry im GAC austauschen und anschliessend von Programm verwenden

Hallo Leut, ich brauche mal eure Unterstützung. Wir haben ein Programm, bei dem DLL registriert werden müssen. Diese DLL's gibt es in 2 Ausführungen (*d.dll und *r.dll, debug und runtime) Nun habe ich den Fehler, dass in der Registrierung(Registry.HKLM.ClassesRoot/CLSID) die falschen drin stehen. Debug stehen drin und im Verzeichnis sind die Runtime drin. Nun habe ich folgendes Problem:
ich habe ein Batch, welcher mir die Dateien registriert und unregistriert. Schlägt aber fehl, da die echten DLL's nicht im Verzeichnis sind!

Jetzt dachte ich, ich mach mir ein kleines Programm, lese die betreffenden DLL aus HKLM/ClassesRoot/CLSID aus und suche die dazu gehörenden Einträge per CLSID. Diese lösche ich dann beide. Aber nach dem Neueinlesen der Registry sind diese wieder drin?

Warum????

Danke Tossi

16.828 Beiträge seit 2008
vor 4 Jahren

Erstmal grundlegende Frage zum Verständnis: was haben Debug DLLs im GAC zu suchen? 🤔

Genau wegen so was, gabs in der Framework-Welt immer wieder die Beschwerden, dass der GAC riesig wird (i.d.R. mehrere GB) und es hier dringenden Handlungsbedarf in der .NET Welt gab.
U.a. deswegen gibt es in der neuen Welt auch kein GAC mehr.

T
Tossi65 Themenstarter:in
83 Beiträge seit 2010
vor 4 Jahren

Hallo,
ich glaube Du hast da etwas falsch verstanden. Es geht nicht um GAC. Es geht um DCom DLL's.

Danke Tossi

4.938 Beiträge seit 2008
vor 4 Jahren

Erhältst du denn eine Fehlermeldung beim Beschreiben der Registry? Evtl. benötigst du dafür Admin-Rechte.

PS: "r" steht wohl für Release (nicht Runtime).

T
Tossi65 Themenstarter:in
83 Beiträge seit 2010
vor 4 Jahren

Hey,
ok ob r Release oder runtime ist egal, hat der Schöpfer des Programmes so gemacht. Aber die unterschiedlichen Namen haben schon sehr oft zu Problemen beim Kunden und Testen geführt. Schlimmstenfalls sind beide Versionen in der Registry registriert 😭
Nein es gibt keine Fehlermeldeung und ich bin als Admin angemeldet.

Ich war der Meinung, wenn ich direkt in der Registry lösche sind die Einträge weg. Pustekuchen.

Danke Tossi

16.828 Beiträge seit 2008
vor 4 Jahren

So funktioniert aber die Registry prinzipiell nicht.
Windows / Endpunkte halten an vielen Stellen einen State, sodass nicht für jeden Request die "langsame" Registry angefragt werden muss.
D.h. dass Änderungen nicht direkt Auswirkungen haben und bei einem entsprechenden Commit überschrieben werden können.

Daher ist es in den meisten Fällen keine gute Idee direkt in der Registry zu werken.

T
Tossi65 Themenstarter:in
83 Beiträge seit 2010
vor 4 Jahren

Hey,
da würde ich auch gern vermeiden. Ich hasse das. Aber manchmal geht es nicht anders. Hat jemand vielleicht eine andere Idee???

Danke Tossi