Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Registrieren von ActiveX-Komponenten


4 replies to this topic

calu

calu
  • Members
  • 45 posts

Posted 04 November 2003 - 13:14

Hallo,

ich habe aktuell das Problem, dass ich 16 und 32 Bit - OCR-Controls bei der Installation registrieren lassen will.

Ich weiß nur, wie eine manuelle Registrierung von Hand funktioniert (regsvr.exe und regsvr32.exe).

Kann ich den Inhalt einer entsprechenden Dateigruppe durch Ändern der Eigenschaft auf "Selbstregistrierend" dazu bringen, dass die .OCX-Files sich selber registrieren, oder hat diese Funktion eine völlig andere Bedeutung ?

(Warum nämlich "selbstregistrierend" wenn ich solche Dateien im normalen Desktopbetrieb mittels regsvr32.exe von Hand registrieren muss....?).


Vielen Dank schon mal im Voraus,
gruß Carsten

Perotin

Perotin
  • Full Members
  • 407 posts

Posted 04 November 2003 - 15:23

Hilft Dir die online-HIlfe nicht weiter?
Selbstregistrierende Dateien mußt Du in eine eigene Dateigruppe packen, die dann die Eigenschaft "selbstregistrierend" erhält. Die Hilfe zur Dialogbox hierzu gibt Dir weitere Informationen, was da passiert ...

Gruß / regards
Thomas

calu

calu
  • Members
  • 45 posts

Posted 04 November 2003 - 16:22

mein problem war, dass ich nicht wusste, ob ich mich mit meinen .ocx - Files auch angesprochen fühlen soll, da in der Hilfe nur die Reden von .dll - Dateien ist.

Ferner gibt es dahingehend auch keine differenzierung was 16-Bit Komponenten angeht...

aufgrund von Tests habe ich gemerkt, dass diese Dateien durch Setzen des "Selbstregistrierend"-Flags nicht registriert werden. (Fehlermeldung).

gruß


hmmm - was mir in dem zusammenhang noch aufgefallen ist:
nach einer deinstallation (auch von den registrierten .ocx -files) kommt bei einer nochmaligen Installation folgende Fehlermeldung:

"Die Support-Datei für die Installation konnte nicht installiert werden. Schnittstelle nicht registriert"

Tja.....

Edited by calu, 04 November 2003 - 17:05.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 November 2003 - 17:00

Sogenannte "selbstregistrierende" Dateien (DLL, OCX, ...) sind dadurch gekennzeichnet, dass Sie eine Funktion mit Namen DllRegisterServer exportieren. Wird diese aufgerufen, schreibt die Datei die von ihr benötigeten Daten (CLSID u.ä.) in die Registry.
Regsvr(32) macht nichts anderes, als diese Funktion in der Datei aufzurufen.
InstallShield macht das gleiche. Da InstallShield ein 32-Bit Programm ist, kann es keine Funktionen in einer 16-Bit Datei aufrufen. Deshalb hilft die Option "selbsregistrierend" nur bei 32-Bit DLL/OCX. Für 16-Bit Dateien musst du den regsvr mit auf die CD packen und aufrufen (oder die Datei auf 32 Bit umstellen - höchste Zeit eigentlich)

calu

calu
  • Members
  • 45 posts

Posted 04 November 2003 - 17:12

ok, danke - das erklärt jetzt einiges... (auch im Zusammenhang mit meinen 16-Bit - Dateien)

bei der obenbeschriebenen Fehlermeldung müsste demnach irgendwas mit der Löschung der Registrierungsdaten schiefgelaufen sein... der Fehler tritt aber nach einer versuchsweisen manuellen (Rettungs-)Registrierung aller .ocx dennoch auf...

[übrigens tritt auf dem Testrechner als unangenehmer Nebeneffekt die Nichtfunktionalität von "Copy & Paste" im Explorer auf... sad.gif scheint sich also um was grösseres zu handeln...]