DLL in XP regestieren

01/12/2008 - 14:30 von Karl Twele | Report spam
Hallo,

ich hab eine Datei xxx.dll, die mehrere COM Objekte enthàlt. Diese ist
in der XP Registrierung registriert und man kann in C# auf alle Objekte
und deren Methoden und Eigenschaften zugreifen.

Mit Visual Foxprow geht das nur mit einem Objekt, warum auch immer. Die
anderen brauch ich dort aber dringend.

Jetzt hab ich mir in meiner Einfàlltigkeit gedacht, das ich eine neue
DLL mit C# schreibe, da ich dort alle Methoden und Eigenschaften
benutzen kann und das ganze dann als COM Objekt in VFP verwende.

Ich hab jetzt eine Klassenbibliothek erstellt, die xxx.dll zu den
Verweisen hinzugefügt. Ein paar Methoden programmiert, ComVisible() auf
"true" gesetzt und mit "Erstellen" eine DLL erstellt.

Wie kann ich diese DLL jetzt registrieren, vielleicht kann mir jemand
helfen, aber nicht vergessen ich bin ein C#-Nobody und finde auch keine
vernünftige Information in Büchern und Hilfen.

Gruß KT
 

Lesen sie die antworten

#1 Matthias Krug
01/12/2008 - 15:51 | Warnen spam
Karl Twele schrieb:

Wie kann ich diese DLL jetzt registrieren, vielleicht kann mir jemand
helfen, aber nicht vergessen ich bin ein C#-Nobody und finde auch keine
vernünftige Information in Büchern und Hilfen.



Der Ansatz führt u.U. ebenfalls dazu, dass FoxPro die Objekte nicht
nutzen kann; aber wer weiss... melde dich mal zurück, wenn es geklappt hat.

So kommst du zunàchst mal weiter:
- sicherstellen, dass dein C# Objekt einen parameterlosen Konstruktor hat
- sicherstellen, dass keine Überladungen verwendet werden (sonst wird
das finden der Methoden u.U. ein Glücksspiel, was auch das eigentliche
Problem bei deiner XXX.DLL sein könnte...)
- RegASM.exe verwenden, um die C# DLL der Registry hinzuzufügen.

Du findest RegASM (RegisterAssembly...) in der Regel im Verzeichnis
[System]\Microsoft.NET\Framework und dann im 2.0.x Ordner - jedenfalls
bei mir.

Mit Cmd eine Kommandozeile öffnen, und das Ding unter XP einfach mal aus
dem Explorer dareinziehen; bei Vista musst du in der Konsole selbst
dorthin navigieren.
Dann einfach mal ausführen - die Optionen sind auf Deutsch schön erklàrt.

Ähnliche fragen