AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi COM-Objekt bei Bedarf automatisch installieren?
Thema durchsuchen
Ansicht
Themen-Optionen

COM-Objekt bei Bedarf automatisch installieren?

Ein Thema von alzaimar · begonnen am 21. Apr 2006 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

COM-Objekt bei Bedarf automatisch installieren?

  Alt 21. Apr 2006, 21:35
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 )?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 21. Apr 2006, 21:38
Evtl. hilft dir das: Simplify App Deployment with ClickOnce and Registration-Free COM
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 22. Apr 2006, 11:15
der windowsinstaller kann das.
der registriert die tlb, installiert aber das com-obj erst bei den ersten aufruf.
"advertising"

gruss
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 22. Apr 2006, 11:17
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?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 22. Apr 2006, 21:36
Zitat von generic:
der windowsinstaller kann das.
der registriert die tlb, installiert aber das com-obj erst bei den ersten aufruf
Ich glaube nicht das damit das Problem der nötigen Admin-Rechte gelößt wird die zur Registrierung benötigt werden.
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 von alzaimar:
Beim IAppServer von Borland braucht nur die TLB-Datei registriert zu werden. Die COM-Objekte selbst laufen auf einem entfernten Rechner.
Ebenfalls Admin-Rechte nötig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 22. Apr 2006, 21:43
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:
NameFuerRessource TypDerRessource_zb_BINRES "DATEINAME"
aus diesder ".rc" datei erzeugst du mit dem Ressource-Compiler (im Bin-Verzeichnis zu finden) eine ".res" datei:
brcc32 YourFile.rc

Somit hast du dann eine ".res" datei welche du wie folgt in dein Programm einbinden kannst:
{$R YourFile.res} Somit ist die Datei in deiner Exe drin.

Mit hilfe von TRessourceStream kannst du das ganze dann auch ganz einfach wieder "entpacken"/extrahieren.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: COM-Objekt bei Bedarf automatisch installieren?

  Alt 23. Apr 2006, 10:52
@Bernhard: Adminrechte wären nicht das Problem.
@SirThornberry: So simpel? Cool, das wars. Hätte beim Windows-Grundkurs doch mal aufpassen sollen . Aber vermutlich steht das auch in der OH

Danke an Alle, die auch verstanden haben, wie nervig dieses Registrierungsgedöns ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz