Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Download aus INet - fertiger Code gesucht (https://www.delphipraxis.net/203017-download-aus-inet-fertiger-code-gesucht.html)

Guido Eisenbeis 3. Jan 2020 20:48

Download aus INet - fertiger Code gesucht
 
Hallo Leute. Ich programmiere gerade ein Setup für ein eigenes Programm. (Ich weiß, dass es Inno Setup u Co gibt, aber die Sache hier ist kompliziert und dafür ist Delphi besser geeignet.)

Das Setup ist sehr umfangreich und fast fertig. Was noch fehlt, sind Funktionen für INet-Downloads. Zum einen direkte Downloads (zip's die automatisch entpackt werden sollen), zum anderen Aufrufe von Download-Webseiten im Standard-Browser (wo der User die Downloads selbst durchführt).

Da das Setup wie gesagt sehr umfangreich geworden ist, habe ich seit Wochen darauf mehr Zeit verwendet, als auf die Entwicklung des eigentlichen Programms. Ich würde mich sehr freuen, wenn jemand fertigen Code zur Verfügung stellen würde, mit dem man die Downloads umsetzen kann. Das würde mich echt entlasten. :thumb:

Guido.

Redeemer 3. Jan 2020 21:12

AW: Download aus INet - fertiger Code gesucht
 
Fertigen Code haben wir nicht.
Wochen für ein Setup zu brauchen, ist auch eine Sache. Ich halte portable Software in Ehre.

Ansätze: THTTPRIO, TDownloadURL, TBrowseURL, TIdHTTP uvm.

Guido Eisenbeis 3. Jan 2020 21:39

AW: Download aus INet - fertiger Code gesucht
 
Hallo Redeemer.

Zitat:

Zitat von Redeemer (Beitrag 1454401)
Fertigen Code haben wir nicht.

Wer sind denn "wir"? (Du wirst doch nicht von dir selbst in der 3. Person sprechen!?) :wink:

Zitat:

Zitat von Redeemer (Beitrag 1454401)
Wochen für ein Setup zu brauchen, ist auch eine Sache.

Tut mir leid, ich bin alt, da geht das nicht mehr so schnell wie früher! :oops:

Zitat:

Zitat von Redeemer (Beitrag 1454401)
Ich halte portable Software in Ehre.

Witzig, genau darum geht es bei meinem Projekt: Um portable Freeware! Mein Setup enthält mehrere fremde Software, die ich aus urheberrechtlichen Gründen nicht in mein Setup hineinpacken will. Deshalb wird sie "live" aus dem Internet nachgeladen. Das macht die Sache kompliziert und aufwendig.

Zitat:

Zitat von Redeemer (Beitrag 1454401)
Ansätze: THTTPRIO, TDownloadURL, TBrowseURL, TIdHTTP uvm.

Danke für die Tipps! :)

mensch72 3. Jan 2020 22:52

AW: Download aus INet - fertiger Code gesucht
 
uiuiui... "Mein Setup enthält mehrere fremde Software, die ich aus urheberrechtlichen Gründen nicht in mein Setup hineinpacken will. Deshalb wird sie "live" aus dem Internet nachgeladen. Das macht die Sache kompliziert und aufwendig."...

Wenn du in deinem Delphiprogramm intern Standard-APIs für den Download nimmst und dann auch noch OS-Calls benutzt um etwas auszuführen (ShellExecute, CreateProcess,...) dann wird deine Software von jeder guten Heuristik der besseren Vierentests erkannt und gesperrt.

Allein beim Öffnen einer Download-Seite und dem "manuellem" Laden einer Datei via Standard-WEB-Browser können dir schon Downloadmanager dazwischen funken.
Das Laden von Dateien aus fremden Quellen, welche du nicht selbst unter Kontrolle hast, ist für ein Setup schlicht untauglich, denn wenn sich morgen irgendeine externe Quelle ändert bekommst du das auf Dauer niemals immer mit... also funktioniert übermorgen oder wann auch immer dein Setup nicht mehr so wie es mal ging.

Wenn schon "portabel", dann richtig "AllInOne & 100%lokal"... dann reicht ein Verzeichnis mit genug Rechten wo genau eine EXE gestartet wird.

Guido Eisenbeis 3. Jan 2020 23:34

AW: Download aus INet - fertiger Code gesucht
 
Hallo mensch72.

Deine Einwände helfen zwar nicht, sind aber leider durchaus realistisch. Deshalb frage ich hier, ob jemand bewährten Code hat, der vielleicht schon einige Hürden umschifft. :wink:

Zitat:

Zitat von mensch72 (Beitrag 1454404)
Wenn schon "portabel", dann richtig "AllInOne & 100%lokal"... dann reicht ein Verzeichnis mit genug Rechten wo genau eine EXE gestartet wird.

Wie gesagt, Urheberrechte usw.

Ich habe einen Aufsatz für ein fremdes Programm geschrieben, quasi ein Add-on. Weitere fremde Programme werden als Prerequisites benötigt. Nun wäre es mit einem nicht einschätzbarem Aufwand verbunden, dafür die Rechte zum Ausliefern zu bekommen => was ich nicht will. Auch will ich dafür weder die Verantwortung noch den Support übernehmen. Mein Anteil ist lediglich das Add-on.

Stell es dir vielleicht vor wie bei einem Java Programm, da würde ich auch nicht die JRE mit ausliefern. :P

mensch72 4. Jan 2020 00:48

AW: Download aus INet - fertiger Code gesucht
 
..."Deshalb frage ich hier, ob jemand bewährten Code hat, der vielleicht schon einige Hürden umschifft"...

All das was du "jetzt" suchst, ist die eigentliche "interne" zertifizierte Funktion der bekannten "Installer" (Inno,Wise,...)!
Sorry für meine Meinung:
- vergiss deinen Ansatz als "Master-Installer" samt GUI als pures Delphi-Programm
- entwickle meherere Delphi-DLLs als AddOn/PlugIn für bekannte Standard-Installer (die haben alle ein DLL-API)
- mache so wenig wie möglich in den nativ DLLs, nutze die Installerscripts... weil deren Interpreter sind Security geprüft und "bekannt"
- zu 99% kannst du per Installerscript+notfalls ein paar nativ DLL Calls all das machen, was du in den letzten Wochen komplett selbst gemacht hast
- du glaubst, jetzt fehlen dir nur noch zwei drei Funktionsaufrufe um was aus dem INet zu laden und auszuführen, nur genau da verkennst du aus meiner Sicht die reale Sicherheits-Lage... denn DAS ist es, was die Standardinstaller nach Jahre langer Entwicklung SICHER drin haben!

-> sowas mal so nebenbei hier oder sonstwo als fertigen Code ausgehändigt zubekommen... ich glaube es gab mal irgendwo gute Berichte/Analysen zu (bösen) MalWare Installern, welche sogut waren, das sie nur bei Realinstallationen und nicht bei VirtuellenMaschinen ihren Werbemist nachgeladen haben... dort wurden ein paar funktionierende Nachlademechanismen ganz gut beschrieben... mein TIP: lass es und nutze Standardinstaller, welche du nur für GUI und lokale nativ Sachen per DLL erweiterst!

Guido Eisenbeis 4. Jan 2020 01:57

AW: Download aus INet - fertiger Code gesucht
 
Danke für deine Infos und deine Meinung! Ich werde es mir ansehen.

Guido.

Guido Eisenbeis 4. Jan 2020 02:23

AW: Download aus INet - fertiger Code gesucht
 
@mensch72

Ich habe mir Inno Setup gerade kurz angesehen und konnte außer dem Generieren von anklickbaren Download-Links keine großartigen Download Fähigkeiten entdecken. Wahrscheinlich im Prinzip wie TLinkLabels. ... Wenn ich mit Inno Setup bei Null anfangen würde, dann würde es mindestens nochmals ein paar Wochen dauern, bis ich etwas habe. Und ob dann die Dinge damit alle umgesetzt werden können, die benötigt werden, kann ich vielleicht erst erkennen, wenn es nicht weiter geht.

Kennst du dich damit aus und kannst mir dabei helfen? Ansonsten ist mir das zu heikel, wenn ich nicht mal weiß, ob überhaupt alles umsetzbar ist. :cry:

Nachtrag: Scheinbar habe ich mich geirrt bezüglich der Download-Fähigkeiten. Es gibt Plugins wie das "Inno Download Plugin", die einen Blick wert sein könnten. :)

philipp.hofmann 4. Jan 2020 09:15

AW: Download aus INet - fertiger Code gesucht
 
Da hier TIdHTTP empohlen wurde: Würde ich nicht mehr benutzen, v.a. nicht mehr Plattform übergreifend, für SSL braucht man da zusätzlich OpenSSL.
Die Alternative bessere TNetHTTPClient nutzt die jeweilige Betriebssystem-SSL-Implementierung, deutlich einfacher und v.a. unterstützt auch alle neuen SSL-Protokolle.
Aber generell würde auch ich für das grundlegende Problem auch zu InnoSetup tendieren und den Mehraufwand in Kauf nehmen.

Guido Eisenbeis 4. Jan 2020 17:06

AW: Download aus INet - fertiger Code gesucht
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1454410)
Die Alternative bessere TNetHTTPClient nutzt die jeweilige Betriebssystem-SSL-Implementierung, deutlich einfacher und v.a. unterstützt auch alle neuen SSL-Protokolle.

Vielen Dank für deinen Hinweis! :)

Leider ist es mir nicht gelungen, Delphi-Code zu finden, der auch nur eine einzige Datei (ca. 5 MB) downloaded. Das Meiste ist aus den frühen 2000ern! Die Codes sind entweder nicht zum Laufen zu bringen (lassen sich nicht kompilieren, weil alles veraltet ist), oder sie laden von den 5 MB nur 40 KB runter. Aktuelle Codes scheint es nicht zu geben.

Hast du ein Code Beispiel für TNetHTTPClient?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr.
Seite 1 von 2  1 2      

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