Frage

Ich schreibe eine Anwendung, die eine dritte Partei ocx Steuerung verwenden muss. In meinem Inno Setup Skript enthalten ich die Zeile:

Source: C:\aPath\aControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver

Es sieht aus wie die Steuerung registriert, aber die installierte App gibt mir EOleSysErrors, dass die Steuerung nicht registriert ist, wenn sie in Win2000 arbeiten. Irgendwelche Gedanken über das, was hier passiert, oder wie man es beheben?

Danke, wie immer!

P. S. Ich arbeite mit Admin-Level-Steuerung. Ich nehme an, dies immer dann erforderlich, wenn ein ActiveX-Steuerelement zu registrieren. (Ist das richtig?)

War es hilfreich?

Lösung

Wenn das Problem nur auf Windows 2000 tritt aber nicht auf späte OS Versionen dies durch fehlende Abhängigkeiten verursacht werden könnte, wie DLLs oder anderen OCX-Dateien, die nicht Teil der Standard-Installation von Windows 2000 sind. Versionen der Microsoft C-Laufzeitbibliothek in den Sinn kommen. Um diese Art von Problemen aufzuspüren sollten Sie den kostenlosen Dependency Walker . Kopieren Sie es auf die problematische Maschine und es verwenden, die OCX-Datei zu öffnen, dann alle fehlenden Bibliothek Einspeisepunkten oder Bibliotheken angezeigt werden.

Sie können das Tool auch als Debugger verwenden, um Ihre Anwendung unter auszuführen. Es wird eine Menge von Informationen über geladene Module und ähnliche Sachen zeigt, die das Problem identifizieren helfen können.

Und ja, registrieren OCX benötigen Sie einen Administrator oder Power User-Konto.

Andere Tipps

Der wahrscheinlichste Grund, warum ich von für diese denken kann, ist, weil Sie VCRedist_x86.exe auf der Maschine nicht installiert haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top