Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

ActiveX-Komponente, aber nur für den lokalen Benutzer

  Alt 3. Feb 2016, 17:06
Disclaimer: Ich habe Null Erfahrung mit all diesen komischen Dingen.

Ich habe eine Dll. Die ist so alt, da war ich noch in der Grundschule. Naja, jedenfalls konnte ich im RAD Studio sagen Komponente->Komponente importieren->ActiveX-Steuerelement importieren woraufhin es eine "abc_TLB.pas" generierte und mir sogar eine VCL-Komponente erstellte. Es läuft prima.

Nur muss der Zielrechner, damit diese Komponente (abgeleitet von TOleControl) erstellt werden kann, vorher einmal
Code:
regsvr32 meineDll.dll
ausgeführt haben. Und zwar mit Adminrechten.

Danach finde ich in der Registry neue Knoten unter HKLM bzw. HKEY_CLASSES_ROOT.


Ich würde das gerne auch ohne diese "Installation" haben können. Schaue ich mir die dll in Tools wie dem Dependency Walker an, sehe ich nur vier exportierte Routinen:
  1. DllCanUnloadNow
  2. DllGetClassObject
  3. DllRegisterServer
  4. DllUnregisterServer
Deshalb glaube ich dass die DLL sich hier selbst in die Registry einträgt. Aber was kann ich sonst tun?


Ich finde, von Embarcadero, eine TRegSvr.exe (siehe DocWiki), das bietet eine "Current User Registration". Nach dem Ausführen erscheinen sogar die von mir gefundenen Registry-Pfade im HKCU-Gegenstück, aber mein Programm läuft danach genauso wenig wie vorher.


Kurzum: Wie komme ich um die "Installation" mit Adminrechten herum? Gehen muss es, der Internet Explorer kann es ja auch. Microsoft schreibt hier etwas dazu, aber ich verstehe nur Bahnhof.
  Mit Zitat antworten Zitat