Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism Anwendung weitergeben (https://www.delphipraxis.net/63028-anwendung-weitergeben.html)

Jelly 13. Feb 2006 00:50


Anwendung weitergeben
 
Nachdem meine ersten Teste unter Delphi 2006 und .NET erfolgreich laufen, habe ich nun das Problem, wie ich eine Anwendung auf einem anderen Rechner zum Laufen bringen kann. Solang ich nur simple Winforms Anwendungen erstelle, läuft die auch auf einem anderen Rechner. Mit VCL.NET Anwendungen fehlen jedoch assemblies wie borland.vcl und co.

Wie kann ich nun diese fehlenden Dateien mitgeben, ohne explizit einen Installer zu verwenden?

Darf ich die assemblies überhaupt weitergeben ?

Sebastian R. 13. Feb 2006 12:28

Re: Anwendung weitergeben
 
Entweder auf dem Rechner auch Borland Delphi 2005 Personal installieren oder die Files mitgeben (ich habe aber keine Ahnung ob das erlaubt ist).

Jelly 13. Feb 2006 12:39

Re: Anwendung weitergeben
 
So schlau bin ich auch... Ich kann aber doch nicht auf jedem Zielrechner Delphi 2005 installieren.

Da liest man soviel über das Verteilen von Anwendungen, dass das alles so einfach wäre unter .NET da im Grunde nichts mehr registriert werden muss, aber ich find nicht raus wie. Borland.vcl befindet sich in der GAC, das ist das Problem.

JasonDX 13. Feb 2006 12:39

Re: Anwendung weitergeben
 
Ich würde davon ausgehen, dass das weitergeben der Dateien erlaubt ist. Ansonsten wäre es relativ sinnlos, mit Delphi.NET zu entwickeln, da die Anwendungen ja nur auf Rechnern laufen würden, auf denen auch Delphi8+ drauf ist.
Ob das allerdings ohne Installieren möglich ist, weiß ich nicht. Ich wage es sogar, das zu bezweifeln, schließlich wollen die Assemblies vor der Verwendung auch registriert werden.

[Add]
Zitat:

Zitat von Jelly
Da liest man soviel über das Verteilen von Anwendungen, dass das alles so einfach wäre unter .NET da im Grunde nichts mehr registriert werden muss, aber ich find nicht raus wie. Borland.vcl befindet sich in der GAC, das ist das Problem.

Normale .NET-Anwendungen können auch ganz einfach weitergegeben werden. Es muss bloß das Framework installiert sein. Will ich aber auf Assemblies und Resourcen zurückgreifen, die nicht im Framework enthalten sind, so muss ich die afair davor auch registrieren. Darüber bin ich bloß gestolpert, bis ich rausgefunden habe, dass ich für meine mDX auch noch eine Redist zusätzlich installieren muss. Dann klappte es. Soetwas dürfte auch irgendwo auf den Delphi-CDs zu finden sein, zumindest gehe ich davon aus.
[/Add]
Alle Angaben allerdings ohne Gewähr.

greetz
Mike

Sebastian R. 13. Feb 2006 12:48

Re: Anwendung weitergeben
 
Zitat:

Zitat von Jelly
Da liest man soviel über das Verteilen von Anwendungen, dass das alles so einfach wäre unter .NET ...

Zeig mir mal, wo du das liest. Wenn du Delphi Anwendungen weitergeben willst, dann nimm lieber Delphi 7.

Jelly 13. Feb 2006 12:54

Re: Anwendung weitergeben
 
Zitat:

Zitat von Sebastian R.
Zeig mir mal, wo du das liest.

Steht im Buch von Walter Doberenz "Delphi 2005".

Zitat:

Zitat von Sebastian R.
Wenn du Delphi Anwendungen weitergeben willst, dann nimm lieber Delphi 7.

Damit implizierst Du, .NET Anwendungen sollen nur für den eigenen Bedarf geschrieben werden. Die Wahl, ob ich Delphi 7 oder .NET nehme hat mit der Entscheidung nix zu tun.

Sebastian R. 13. Feb 2006 13:01

Re: Anwendung weitergeben
 
Naja, .NET ist immer so eine Sache. .NET muss auf jedem Rechner dann installier sein, sowohl als auch die ganze Files von Borland weitergegeben werden. Es ist deine Wahl, ob du 2005 oder 7 nimmst. Ich wollte dir nur einen Rat geben!

Jelly 13. Feb 2006 13:05

Re: Anwendung weitergeben
 
Für eine D7 Anwendung muss Du auch Windows installiert haben :-)
Die Frage ist doch ganz klar so gestellt, dass ich die .NET Anwendung auf einem anderen Rechner zum Laufen bringen will. Wollt nicht schroff rüberkommen, aber wie man eine D7 Anwendung verteilt weiss ich, und ist für die Fragestellung irrelevant.

Phoenix 13. Feb 2006 13:37

Re: Anwendung weitergeben
 
Also.. Erstens musst Du die Borland -Assemblys nicht zwingend im GAC registrieren. Es reicht, die .dll's im Anwendungsverzeichnis liegen zu haben. Es reicht hier also tatsächlich eine reine xcopy-Installation ;-)

Zweitens macht es dagegen tatsächlich Sinn, die Borland-DLL's im GAC zu registrieren, wenn Du z.B. mehrere Anwendungen auf VCL.net - Basis auslieferst. Somit können sich die Programme den Part einfach teilen.

Ich würde einen kleinen 'Installer' schreiben, der nachschaut ob die Assemblys verfügbar sind (wichtig ist auch die Kontrolle der Version... Delphi '05 hat andere Versionsnummern als D8 bzw. D'06) und wenn die benötigte Version nicht verfügbar ist diese im GAC zu registrieren. Aber sogar das geht auch per Batch-Script und Returncode einer .NET - Commandline Applikation via XCOPY.

Jelly 13. Feb 2006 13:43

Re: Anwendung weitergeben
 
Hast Du dazu ein Beispiel, wie so ein Skript auszusehen hat... Wie kann ich denn eine Assembly im GAC sicher registrieren.

Wenn ich die assembly nicht registrieren möchte, welche Dateien aus dem GAC muss ich dann wohin kopieren... Bei mir liegt die Borland.vcl assembly z.B. unter
C:\WINDOWS\assembly\GAC\Borland.Vcl\10.0.4143.0__9 1d62ebb5b0d1b1b

ausserdem liegt dort auch noch eine INI Datei, ist die notwendig...

Alles Neuland für mich.

Jelly 13. Feb 2006 14:01

Re: Anwendung weitergeben
 
Ich scheine jetzt einen Weg gefunden zu haben, die benötigten Assemblies, die nicht direkt zum .NET Framework gehören wie eben diese VCL.NET Sachen, mit in die Echse reinzukompilieren...

Es gibt ja noch andere gute Delphi Foren: guckst Du hier

Das scheint dann der Weg zu sein. (3. Beitrag)

Phoenix 13. Feb 2006 14:02

Re: Anwendung weitergeben
 
Zitat:

Zitat von Jelly
Hast Du dazu ein Beispiel, wie so ein Skript auszusehen hat... Wie kann ich denn eine Assembly im GAC sicher registrieren.

Wenn ich die assembly nicht registrieren möchte, welche Dateien aus dem GAC muss ich dann wohin kopieren... Bei mir liegt die Borland.vcl assembly z.B. unter
C:\WINDOWS\assembly\GAC\Borland.Vcl\10.0.4143.0__9 1d62ebb5b0d1b1b

Aiaiaiai.. nie, gar nie nicht mit dem Windows-Explorer im GAC rumpfuschen.
Dazu gibt es ein Tool: MSDN-Library durchsuchengacutil.exe - Mit dem Tool kannst Du eine Assembly installieren und auch wieder aus dem GAC downloaden.

Jelly 13. Feb 2006 14:16

Re: Anwendung weitergeben
 
Was heisst denn in dem Zusammenhang "Downloaden".

Phoenix 13. Feb 2006 14:21

Re: Anwendung weitergeben
 
Steht auch im MSDN-Artikel drin ;-)

Edit: Ach Du schande... vollkommen verwurstelt... ich meinte natürlich den Assembly download cache... der hat natürlich nix damit zu tun Assemblys aus dem GAC wieder rauszuholen.

Aber die Borland.VCL - Assemblys müssten theoretisch irgendwo im installieren Delphi rumliegen. Such da mal in dem Installationsverzeichnis nach den DLL's.

Jelly 13. Feb 2006 14:46

Re: Anwendung weitergeben
 
Da find ich zisch Dateien mit Borland.vcl.*.dll
Muss ich da alle DLLs mitliefern.

Irgendwie blick ich bei der ganzen Geschichte noch nicht durch. Und in dem Supi Buch von Walter Doberenz über Delphi 2005 steht auch nicht viel Gescheites drin, ausser ein paar einfach .NET Beispielen. Wie man Anwendungen weitergibt und was sich eigentlich im Background abspielt, wenn man eine .NET Anwendung startet bleibt für mich ein Mysterium.

Gibts noch irgendwie ein anderes gutes Buch, was sich insbesondere mit Delphi.NET beschäftigt. Ich vermisse einfach noch zu viele Sachen, die ich eigentlich als elementar wichtig einstufe. Die in diesem Thread ist nur eine davon.

inherited 13. Feb 2006 15:07

Re: Anwendung weitergeben
 
Wen ich richtig das verstanden habe, kann man die mitliefern, muss dann aber einen von Borland vorgefertigten Installer dafür benutzen der allerdings nur bei versionen ab Enterprise beiliegt...kann mich aber auch täuschen

Union 13. Feb 2006 15:18

Re: Anwendung weitergeben
 
Also wenn ich mein Delph starte, sehe ich eine Willkommensseite. Dort gibt es gleich oben einen Eintrag "Deployment". Dort steht eigentlich alles bsi ins Kleinste bechrieben ...

Jelly 13. Feb 2006 15:28

Re: Anwendung weitergeben
 
Hab mir das mal grad durchgelesen. Da steht aber auch nicht drin, wie ich eine Assembly meiner Anwendung mitgeben kann. Wie gesagt, ich möchte das Ganze verstehen, wie das abläuft, und nicht auf einen Installer verwiesen werden.

Union 13. Feb 2006 15:42

Re: Anwendung weitergeben
 
Im simpelsten Fall (und mit normalerweise geringsten Nebenwirkungen) gibst Du alle Dateien, die unterhalb Deines Projektsin dem Treeview-Eintrag "Referenzen" enthalten sind mit Deiner Anwendung weiter - ins Anwendungsverzeichnis.

Willst Du die allerdings in den GAC installieren, musst Du mit AL.EXE, SN.EXE und bei der Installation mit GACUTIL.EXE (bzw. einem Installer der das startet) arbeiten. Dies dient dazu, dass die Assemblies eindeutig identifizierbar werden (Vermeidung der DLL-Hell).


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