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
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo,
ich glaube Du hast da etwas falsch verstanden. Es geht nicht um GAC. Es geht um DCom DLL's.
Danke Tossi
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).
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
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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