![]() |
ZIP mit Befehlsparameter
Moin Moin.
Wir bieten auf unserer WebSite für verschiedene Spiele (Städtebau) Szenarios, Missionen und Karten an. Diese werden mit einer Installations/Deinstallationsroutine an den Mann/die Frau gebracht. Dazu werden die Spieldateien mit besagter Routine in eine ZIP Datei gepackt und zu einer SFX Datei - also ausführbaren EXE - zusammengestellt. Der Anwender startet also die heruntergeladene Datei, die wird entpackt und das Installationsprogramm gestartet. Soweit wohl eine normale Geschichte. Seit Delphi 3 nutzen wir dafür VCLZip. Die erforderlichen Daten werden zusammengepackt und eine SFX erzeugt, bei der - Achtung! - ein Befehlsparameter mit angegeben wird. Nämlich der, die im Package enthaltenen Installationsroutine nach dem Entpacken zu starten. Für Delphi 10.2 brauchen wir jetzt Ersatz, der eben diese Möglichkeit enthält. ZipForge kann es nicht, Abbrevia auch nicht. Also soweit ich das feststellen konnte. Weiß jemand eine entsprechende Lösung, wenn möglich kostenlos? (VCLZip neu kostet 129.00 US$) Oder was ganz anderes? creehawk |
AW: ZIP mit Befehlsparameter
Schau mal bitte nach
![]() ![]() |
AW: ZIP mit Befehlsparameter
Geht ja wieder mal ruckzuck hier!! :-D
Bestens. Scheint wohl genau das zu sein was ich suche. Und sogar für 10.2 bearbeitet. Vielen und herzlichen Dank! creehawk |
AW: ZIP mit Befehlsparameter
Nach eingehendem Studium der Befehle ist das, was ich brauche, enthalten. Insgesamt zwar ziemlich bombastisch mit all den Funktionen, aber bitte. Extra DLL kopieren und machen und tun - wenn's sein muss.
Aber die Installation gemäß Beschreibung ist schlichtweg für eine sogenannte Entwicklungsumgebung lächerlich. Komplieren sie dies, kopieren sie jenes, fügen Sie hier ein, drücken Sie "Ignore" und dann wissen wir auch nicht weiter. Eigentlich wollte ich keine wissenschaftliche Arbeit machen, sondern das Ganze benutzen. Gut. Gibt's vielleicht noch was anderes? creehawk |
AW: ZIP mit Befehlsparameter
Und bevor ich's vergesse: um mir die Funktionen anzusehen habe ich das in D7 installiert.
Dauer: 5 Sekunden. Geht doch. Vielleicht sollte ich 10.2 deinstallieren und bei D7 bleiben. @Delphi.Narium Bitte kein Missverständniss! Ich fluche hier auf D 10.2 und die ZipMaster Leute, nichts anderes! creehawk |
AW: ZIP mit Befehlsparameter
Warum schreibst du das nicht einfach selbst? So ein selbstentpackendes Modul ist doch schnell geschrieben. Dann hast du die volle Kontrolle.
Ich hatte so etwas auch schon einmal geschrieben. Außerdem würde ich vermuten, dass es ein solches Modul mit dieser Option auch von seven zip gibt. Das hätte den Vorteil, dass die Komprimierung deutlich besser wäre. |
AW: ZIP mit Befehlsparameter
Wie Jaenicke schon schreibt:
Man könnte das auch mit der ![]() Dann hat man die volle Kontrolle, insbesondere auch über das User-Interface. Nachteil: Ein Virenscanner könnte das für "böse" halten, was bei den üblichen SFX-Stubs eher nicht passiert. ![]() |
AW: ZIP mit Befehlsparameter
Zitat:
|
AW: ZIP mit Befehlsparameter
Zitat:
Klar ist es so sicherer, aber auch übertrieben. |
AW: ZIP mit Befehlsparameter
Zitat:
Oder einfach (wie wir es gemacht haben) die entsprechenden DLLs einfach parallel mit liefert War auch kein Hexenwerk. Das Auspacken ins Tempverzeichnis war nur von der Kaufkomponente als Defaultverhalten implementiert. Über Compiler-Define konnte man das verhalten umstellen. Zitat:
|
AW: ZIP mit Befehlsparameter
Zitat:
Ein bischen Installation für ein kostenloses Tool. Wenn du das selber schreibst, bist du bestimmt Wochen am Programmieren. Ich habe jedenfalls sehr großen Respekt vor dem Programmierer, der das so einfach bereitstellt. |
AW: ZIP mit Befehlsparameter
Jup.
Moin.Moin. WENN das so einfach ist bin ich zu doof. Kann durchaus sein. Und Respekt vor der Programmierleistung habe ich auch. Ändert nichts daran das ich ggf. zu dämlich bin. Wäre es möglich eine Arbeitsliste mit deinen Schritten zu erstellen? Soweit ich das jetzt verstanden habe nimmst du die zm192setup0023.exe, startest, fertig. Dann noch DLL der Ordnung halber. Schluss. Richtig? Also mein D 10 sche... mir was. creehawk |
AW: ZIP mit Befehlsparameter
Hmm..
Mal was ganz anderes... ![]() Hier wird ein entsprechendes Tool mit zlib gebastelt. Da dieses SFX-Extractor selber gebaut wird, kannst Du da Funktionen hinzufügen, wie du möchtest... Und ist kostenlos ;) Nur so eine Idee, als Alternative. |
AW: ZIP mit Befehlsparameter
Au weia.
Ich ergebe mich und behaupte ab sofort das Gegenteil.:oops: Das funktioniert doch alles wie vorgesehen. Allerdings nicht wenn man im UAC Bereich zugange ist und Delphi nix bemängelt ....... warum auch immer. Jedenfalls ist jetzt alles installiert. Ich ersuche um Gnade. creehawk |
AW: ZIP mit Befehlsparameter
Meine Vorgehen wäre:
Download von ![]() Zip-Datei in ein Verzeichnis meiner Wahl entpacken. Das beim Entpacken entstehende Verzeichnis DLL mit in den Pfad von Windows aufnehmen oder die dort enthaltenen Dateien in ein Verzeichnis kopieren, das bereits im Pfad von Windows enthalten ist. Delphi starten. Projekt öffnen wählen. Dort im oben erstellten Verzeichnis das Unterverzeichnis Packages öffnen. Dort das Package mit meiner Delphiversion im Namen öffnen, für Delphi 7 wäre dies das Package ZMstr192D7.dpk. Für Tokyo muss man ins Unterverzeichnis Tokyo wechseln und dort die passende Datei auswählen. Package kompilieren. Falls Delphi nicht alles finden sollte, muss man ggfls. noch das am Anfang erstellte Verzeichnis in den Quelltextsuchpfad von Delphi aufnehmen. Sollte eigentlich alles recht einfach funktionieren. Was ich allerdings (wenn möglich) vermeide ist: Eine Setup.exe aufzurufen und zu hoffen, dass damit mein Delphi mit allem nötigen "versorgt" wird. Eigentlich klappt das Installieren von Komponenten ... immer, wenn man die vom "Hersteller" erstellten Packagequelltexte seiner Delphiversion mit der IDE öffnet und dann kompiliert. Klappt schon, seit dem ich Delphi kenne ;-) Und das Schreiben und Lesen dieses Posts dauert vermutlich länger, als Download, öffnen und kompilieren des Packages, samt Installation in der IDE, zusammen ;-) PS: Gnadengesuch angenommen ;-) |
AW: ZIP mit Befehlsparameter
Tja, und nach all dem Theater können wir das doch nicht brauchen......
Unser Bedarf wäre ein SelfExtract gewesen, die ohne weitere Hinweise die enthaltene ZIP entpackt und das eigentliche Installationsprogramm startet. Schluss. Hier aber meldet sich die SFX unweigerlich mit einer Dialogbox das Sie am Werk ist und startet erst dann die angegebene Anwendung. Den gesamten Vorgang auf "unsichtbar" schalten geht nicht. Jedenfalls fehlt eine derartige Einstellung. Zwar kann man ausschließen das der Anwender alles blocked oder sonstwie rumfummelt. Aber die Dialogboc kommt unweigerlich samt (nicht nutzbaren) Buttons und Erfinderverweisen (Aboutbox). Frage : Na und? Aus Erfahrung wissen wir: etliche unserer Klienten wäre als reine Anwender schlichtweg "verwirrt" über eine solche Dialogbox. Was ist das denn? Muss ich was machen? Ist das ein Virus? Ich will doch bloß spielen!Mamaaaaaaa... Das geht definitiv nicht. Also geht die Suche weiter. creehwak |
AW: ZIP mit Befehlsparameter
Vielleicht habe ich die Anforderungen nicht wirklich verstanden,
aber wenn es ja sowieso eine Exe Installation ist, warum nicht einfach InnoSetup? |
AW: ZIP mit Befehlsparameter
Werde jetzt mal ein bisserl spekulieren:
Der Quelltext von ZipMaster ist vorhanden. Im Verzeichnis SFX befindet sich alles, was für eine selbstextrahierende EXE benötigt wird. Mal ein Minimalbeispiel bauen und per Debugger durchgehen, wo der "überflüssige" Dialog herkommt. Die Stelle so ändern, dass die bisherige Funktionalität erhalten bleibt, aber der Dialog nicht angezeigt wird. Ein Ansatz wäre da die Prozedure Run aus der Unit ZMSFXProcs. Dort mal nach DialogBox suchen und die entsprechenden Stellen so abändern, dass immer die gewünschten Rückgabewerte, ohne Anzeige der Dialogbox, gegeben werden. Das sind nur vier mögliche Stellen im Quelltext. |
AW: ZIP mit Befehlsparameter
Hmm..
Hast Du dir den Link von mir (Post #13) angeschaut? Dort wird ohne externe Komponenten ein SFX-Extactor mit Delphi selbst erstellt. Was und was nicht der Extractor macht, bestimmst Du! Somit würde das doch dem entsprechen, was gesucht wird. Und es werden keine externen Componenten benötigt, alles in Delphi dafür vorhanden.. |
AW: ZIP mit Befehlsparameter
Das fertige Projekt dazu gibt es hier:
![]() ![]() Sieht beinahe schon banal einfach aus. |
AW: ZIP mit Befehlsparameter
Moin Moin!
@Holger X Natürlich habe die Road to Delphi betreten, aber erst mal sucht man ja einfache Lösungen. Anders gesagt : man ist faul :( @DelphiNarium Die Sache mit dem Abändern des Codes in ZIPMaster habe ich mir angesehen und gesteh freimütig: das ist mir zu heftig. Wer weiß was alles explodiert, denn die Form/Box die da aufgeht und stört wird an mehreren Stellen angesprochen - soweit ich das sehe. Ich nehme jetzt mal das banal einfache Beispiel von GitHub und dann schaun' mer ma. Nächstes Jahr. Ich möchte mich für alle Antworten nocheinmal bedanken und wünsche einen guten Rutsch und ein frohes neues Jahr mit exorbitant wenigen Fehlermeldungen.:lol: creehawk |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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