Zitat von
Sherlock:
Ich versuche auf ein
ActiveX Objekt zuzugreifen, welches
nicht im System registriert ist. Zur Zeit experimentiere ich mit einer
DLL (dsofile.dll von Microsoft), aber zukünftig könnten auch OCX betroffen sein. Hintergrund ist einfach der, daß ich
ActiveX-Controls verwenden möchte, die nicht installiert werden sollen, um den Installationsaufwand auf bloßes Kopieren zu beschränken...
Ich halte diese Idee um Arbeit zu sparen für sehr schlecht.
Der Aufwand, die Registrierung von
ActiveX DLLs zu umgehen steht in keinem Verhältnis zu den Schwierigkeiten, die du dir einhandelst.
Ich möchte hier nicht zu hart urteilen, aber es ist 'ne Schnappsidee.
Stattdessen würde ich mich auf das vereinfachte Registrieren konzentrieren.
Es gibt 2 Möglichkeiten:
1.) beim Programmstart die
DLL selbst registrieren
DLL mit LoadLibrary laden und dann DllRegisterServer aufrufen.
2.) Einem Installer mitteilen, dass er die DLLs automatisch registrieren soll.
Dazu muss die
DLL eine Versioninfo Resource haben. Innerhalb der Versioninfo muss ein Key mit dem Wert
OLESelfRegister (Inhalt dazu ist leer) stehen. Sobald der Installer diesen Key entdeckt registriert er die
DLL automatisch.