![]() |
COM-Objekt bei Bedarf automatisch installieren?
Ich habe eine DLL, die eine Schnittstelle zu unserer Mittelschicht bereitstellt. Die Mittelschicht läuft als IAppServer und wird über den Sockenserver von Borland angesprochen. Da auch per VB, C++ etc.darauf zugegriffen wird, hab ich mich eben für eine DLL entschieden. Bitte nicht daran rummäkeln.
Na ja, wie dem auch sei. Der Programmierer soll also die DLL (und nur die!) einfach auf den PC schmeissen und loslegen können. Nun muss ich ja den IAppServer lokal installieren, also das COM-Objekt. Dazu gibt es ja eine TLB-Datei, die man dann einfach mit RegSvr32 XYZ.TLB installieren kann. Meine Idee ist Folgende: DLL wird geladen und prüft, ob das COM-Objekt installiert ist, wenn nicht, zaubert es die TLB-Datei auf die Pladde und installiert dann das COM-Objekt. Jetzt die Frage: Wie packe ich am Einfachsten so eine Datei in meine EXE (und extrahiere sie zur Laufzeit). Ich weiss, über resources, aber da bin ich einfach zu blöd, alt oder sonstwas zu. Eine Idee hatte ich: Ich deklariere eine Konstante als Array of Byte, aber wie macht man das richtig? Kann mir einer helfen (Es ist keine Hausarbeit, ehrlich :zwinker:)? |
Re: COM-Objekt bei Bedarf automatisch installieren?
Evtl. hilft dir das:
![]() |
Re: COM-Objekt bei Bedarf automatisch installieren?
der windowsinstaller kann das.
der registriert die tlb, installiert aber das com-obj erst bei den ersten aufruf. "advertising" gruss |
Re: COM-Objekt bei Bedarf automatisch installieren?
Beim IAppServer von Borland braucht nur die TLB-Datei registriert zu werden. Die COM-Objekte selbst laufen auf einem entfernten Rechner.
Wie kann ich denn binäre Informationen in einer EXE speichern (am Besten über den Objektinspektor), oder indem ich die Binärinformationen in die RES-Datei packe. Aber wie mach ich das? |
Re: COM-Objekt bei Bedarf automatisch installieren?
Zitat:
Und ich finde es immer sehr nervig wenn beim Aufruf einer X-Beliebigen Office-Funktion auf einmal der Installer wieder anspringt. Diese Unsitte hat man auch bei Delphi 2006 eingeführt. In Zeiten von 100 GB-Festplatten installiere ich eh immer das Komplette Programm. Zitat:
|
Re: COM-Objekt bei Bedarf automatisch installieren?
wenn du das ganze über eine Ressource machen willst lege dir eine Datei mit der endung ".rc" an.
In diese schreibst du dann folgendes:
Code:
aus diesder ".rc" datei erzeugst du mit dem Ressource-Compiler (im Bin-Verzeichnis zu finden) eine ".res" datei:
NameFuerRessource TypDerRessource_zb_BINRES "DATEINAME"
brcc32 YourFile.rc Somit hast du dann eine ".res" datei welche du wie folgt in dein Programm einbinden kannst:
Delphi-Quellcode:
Somit ist die Datei in deiner Exe drin.
{$R YourFile.res}
Mit hilfe von TRessourceStream kannst du das ganze dann auch ganz einfach wieder "entpacken"/extrahieren. |
Re: COM-Objekt bei Bedarf automatisch installieren?
@Bernhard: Adminrechte wären nicht das Problem.
@SirThornberry: So simpel? Cool, das wars. Hätte beim Windows-Grundkurs doch mal aufpassen sollen :zwinker: . Aber vermutlich steht das auch in der OH :wall: Danke an Alle, die auch verstanden haben, wie nervig dieses Registrierungsgedöns ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz