Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi-Anwendungen verteilen / Installer-Skript (https://www.delphipraxis.net/4043-delphi-anwendungen-verteilen-installer-skript.html)

nostromo73 12. Apr 2003 16:01


Delphi-Anwendungen verteilen / Installer-Skript
 
Jetzt mal eine grundsätzliche Frage zum Verteilen von Delphi-Anwendungen:

Ich möchte eine mit Delphi 7 Enterprise erstellte exe (nur VCL-Komponenten) verteilen.
Wie stelle ich fest, welche Dateien (dll's etc.) in eine entsprechende Setup-Routine (z.B. MSI oder Install Shield) aufgenommen werden müssen. Ich brauche also eine Liste der abhängigen dll's, die die exe zur Laufzeit verlangen könnte. Wenn ich diese Liste habe, kann ich dann einfach die auf meinem Rechner vorhandenen dll's in das Setup aufnehmen ? Oder gibt das Probleme mit der Versionierung der dll's auf dem Zielerechner ?

Hintergrund:
Ich habe meine ersten Delphi-Kenntnisse in ein DB-Projekt einfließen lassen und möchte nun mit einem Installer sicherstellen, dass die Anwendung auch auf einem anderen Windows-Rechner (98,ME,NT, XP) einwandfrei läuft. Da ich noch in der Entwicklungsphase bin, reicht zur Präsentation zunächst die Einschränkung auf eine XP-Home-Umgebung.

Infos zu meiner Anwendung:


-keine CLX-Komponenten (zumindest so vorgesehen; komischerweise verlangt die exe aber die QT-Bibliothek qtintf70.dll, was ist da los ? Wie identifiziere ich ggf. die CLX-Komponenten ?)
-Zugriff über ADO auf eine Access-MDB als Datencontainer (das sollte doch MDAC und MS Jet 4.0 erfordern, oder ?)
-Verwendung von Rave Reports (die müssen bestimmt auch extra mitgeliefert werden)

nostromo73 12. Apr 2003 17:11

Update:
Inzwischen habe ich alle clx-Komponenten entfernt, in einem Modul wurde QDialogs referenziert. Jetzt habe ich also eine VCL-Anwendung

Ich weiss leider immer noch nicht genau, welche dlls etc. für die ADO-Unterstützung auf dem Zielrechner benötigt werden.
Ich brauche an dieser Stelle die genauen Dateinamen, da ich nicht weiss, welche Dateien im einzelnen zu MDAC und Consorten gehören.
Ich möchte übrigens auch Access-propietäre Funktionen in den SQL-Abfragen an eine MDB benutzen. Das sollte doch auch ohne installiertes Access möglich sein, oder ?
Muss ich z.B. bei XP (Prof. und Home !) überhaupt etwas bezügl. ADO machen ? Ist das nicht schon integriert ?

Chewie 12. Apr 2003 17:25

Bei den Datenbanken kenne ich mich nicht aus, aber für die Standard-Komponenten, aus denen wohl deine Oberfläche besteht, brauchts du keine zusätzlichen DLLs.

woki 12. Apr 2003 19:35

Hallo,

die ADO-Unterstützung ist Teil des Betriebssystems, hier muß unter Umständen bei älteren Versionen ein MDAC-Update eingespielt werden, falls Die Systeme noch von Microsoft unterstützt werden.

Für die Verwendung von ACCESS-SQL ist kein installiertes Access erforderlich.

Bei XP sollte das alles was Du bis jetzt erwähnt hast ohne zusätzliche dll's etc laufen.

Gruss
Wolfgang

nostromo73 12. Apr 2003 20:01

Update II:

So, ich habe inzwischen mit Hilfe des Tools 'Setup-Factory' eine Setup.exe gebastelt, die auch wunderbar auf dem Zielrechner durchläuft, alle Dateien landen da, wo sie landen sollen (midas.dll zur Unterstützung von ClientDataSets->Systemverzeichnis, Anwendung + Datenbank-file(.mdb)->gewähltes Programmverzeichnis).

Die Anwendung startet nach der Installation auf verschiedenen Zielrechnern aber nur minimiert (Eintrag in der Taskleiste vorhanden) und weigert sich beharrlich, sich vom Anwender maximieren zu lassen. Der zugehörige Prozess belegt wenig Speicher/CPU-Zeit, da ist also alles normal. Auch der ADO-Zugriff auf die mdb-Dateien ist aktiv (erkennbar an der temporären ldb-Datei).

Was kann das sein ?

woki 12. Apr 2003 20:16

Clientdatasets (erfordern midas.dll) hattest du nicht erwähnt.

Wenn merkwürdige Dinge passieren braucht man natürlich etwas mehr Info, um die zu verstehen.
Kann es sein, daß die Form außerhalb des sichtbaren Bereiches deines Zielrechners aufgeht?

Grüsse
Wolfgang

nostromo73 12. Apr 2003 22:29

@woki:
Meine Anwendung läuft :dancer, die dlls habe ich inzwischen zusammen. Die Erwähnung von midas.dll hat wohl etwas verwirrung gestiftet. Sie ist jedenfalls jetzt die einzige dll, die ich mitliefern muss. Das nur zur Ergänzung...

Und Deine Anmerkung mit dem sichtbaren Fensterbereich zielt genau in die richtige Richtung, wie ich inzwischen auch herausgefunden habe. Das Fenster wird in einem nicht sichtbaren Bereich angezeigt. Die Zielrechner, die Probleme machen, haben alle NVidia-Grafikkarten, die Darstellung erfolgt auf einem anderen Desktop, das kann man manuell mit NView korrigieren.

Was kann ich nun tun, damit beim Starten der Anwendung der richtige Desktop bzw. der sichtbare Fensterbereich benutzt wird ?

nostromo73 12. Apr 2003 23:41

Die schönsten Antoworten im Forum sind immer noch die, die man sich selber geben kann: :hello:

Die Position des Hauptformulars wird natürlich über die Eigenschaft "Position" bestimmt. Die war auf "poDesigned" eingestellt, so konnte der Benutzer wegen seiner kleineren Auflösung nix sehen. Ich hatte das Formular zur Entwurfszeit in die Ecke geschoben (Pixel-Position: ca. 1100,900). Bei 1024x768 erscheint das Formular dann im Nirvana...

poDesigned The form appears positioned on the screen and with the same height and width as it had at design time.

Vielen Dank für Eure Hilfe, jetzt kenne ich hoffentlich die wesentlichen Fallstricke bei der Verteilung von Delphi-Murkscode in alle Welt...

merlin17 13. Apr 2003 19:20

<<-Verwendung von Rave Reports (die müssen bestimmt auch extra mitgeliefert werden)>>

Rave selber benötigt keinerlei dll's am zielrechner. nur wenn die end-user-designer mitgegeben wird (setzt aber die beX-version und EUDL voraus).

:wink: thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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