![]() |
Wie fertiges Programm updaten/patchen?
Hallo Delphi – Gemeinde,
weil der Titel vielleicht nicht so gelungen ist, möchte ich kurz mein Problem schildern: Ich schreibe an einem Vokabeltrainer. Die Vokabeln und ihre Merkmale bearbeite ich mit einer selbstgebastelten Datenbankoberfläche, die schließlich die Datensätze als Strings in einer Textdatei ablegt. Nun möchte ich aber, dass die Datensätze am Ende für den User nicht zugänglich sind. Am liebsten in die Exe - Datei eingebunden. Also meine erste Frage: Wie kann ich das bewerkstelligen? (Ressource – Datei oder als Konstanten im Quelltext oder gibt es noch etwas besseres?) Und nun das Hauptproblem: Wenn der User also nun die fertige Exe – Datei hat und mir fallen Fehler an den Daten auf oder ich möchte Vokabeln ergänzen, wie kann ich das machen, ohne dass der User gleich das ganze Programm nochmal herunterladen muss. Kann man das als fortgeschrittener Anfänger in Delphi realisieren? Kriegt man da einen Patch oder Update hin? Ich hoffe echt auf eure Hilfe. Danke im Voraus und Grüße, BetaBot |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist kein Vorschlag für die Code-Library |
Re: Wie fertiges Programm updaten/patchen?
Hallo!
Patcht man heutzutage wirklich noch die Echse itself? Anno dazumal, als Speicherplatz und -bandbreite extrem begrenzt waren, war das durchaus Gang und Gäbe, aber heute?! Und nein, mal eben die Echse zu patchen ist nicht. Sicherlich ist das möglich, aber mit "fortgeschrittenen Anfängerkenntnissen" nicht so einfach. Die Ressourcen der Echse auszutauschen ist da schon wesentlich einfacher. Was stört Dich denn daran, eine eigenständige Vokabel-"Datenbank" außerhalb Deiner Echse zu haben? Das vereinfacht nämlich alles immens. Wenn der End-User diese einfach nur nicht einsehen und bearbeiten können soll, reicht eine simple Verschlüsselung derer. Btw. kann der End-User auch Echse-interne Ressourcen recht einfach mit entsprechenden Editoren bearbeiten. |
Re: Wie fertiges Programm updaten/patchen?
Hallo Dunkel,
also lieber die Daten außerhalb der Exe-Datei lassen, okay. Kann ich denn eine Textdatei simple verschlüsseln oder brauche ich da ein anderes Format? Und der User müsste sich dann bei Änderungen also immer die neue Datei runterladen, oder? |
Re: Wie fertiges Programm updaten/patchen?
Zitat:
|
Re: Wie fertiges Programm updaten/patchen?
Zitat:
|
Re: Wie fertiges Programm updaten/patchen?
Hallo NamenLozer,
der User soll die Datensätze nicht einsehen und manipulieren können. Das ist im Moment sehr einfach möglich, weil sie in einer simplen Textdatei liegen. Grundsätzlich möchte ich die Daten schon in Stringform behalten, weil ich als Anfänger sie so gut be-/verarbeiten kann. |
Re: Wie fertiges Programm updaten/patchen?
Achso, was ist XOR?
|
Re: Wie fertiges Programm updaten/patchen?
[dp]XOR-Verschlüsselung[/dp]
|
Re: Wie fertiges Programm updaten/patchen?
Such mal nach Vigenère-Verschlüsslung, xor ist ein ziemlicher Witz, wenn man weiß, dass eine Verschlüsslung vorliegt.
Vigenère ist zwar auch seit eineinhalb Jahrhunderten geknackt, stellt aber eine hierfür wahrscheinlich ausreichende Sicherheit bei vertretbaren Implementierungsaufwand da. |
Re: Wie fertiges Programm updaten/patchen?
Zitat:
|
Re: Wie fertiges Programm updaten/patchen?
Also bleiben im Resumee die Daten extern und wenn ich nicht möchte, dass der User sie einsieht, muss ich mich anstrengen, sie zu verschlüsseln. Ist nicht ganz das, was ich mir vorgestellt habe, aber dann habe ich eben dazugelernt. Danke an euch und Gute Nacht, Betabot.
|
Re: Wie fertiges Programm updaten/patchen?
So sieht's aus. Statische Daten können gut und gerne direkt in die ausführbare Datei gepackt werden (ob als Ressourcen, Konstanten, Bit/Byte-Muster, sonst wie). (Un)Regelmäßig verändernde Daten sollten außerhalb derer gespeichert werden. Ein Grund hast Du selber genannt: ständig die Echse auszutauschen, nur weil sich eine Kleinigkeit im Datenbestand geändert hat, ist sehr sub-optimal. Externe Daten lassen sich darüber hinaus leichter/komfortabler editieren und/oder austauschen. Wenn es menschenlesbare Daten sind, lassen sich diese selbstverfreilich mit jedem beliebigen (Hex)Editor lesen/ändern. Um dem entgegen zu wirken hilft eine simple Verschlüsselung (welche schon mit einer Hand voll Programmcode implementiert ist, wenn man es mit der "Sicherheit" nicht übertreibt) oder ein (eigenes) nicht-Text Datenformat (ZIP würde sich anbieten, mit dem Vorteil, dass die Daten sogar komprimiert sind).
|
Re: Wie fertiges Programm updaten/patchen?
also ich würde sagen, Du veränderst ne Vigenère-Chiffre ein wenig und veschlüssselst alle Datensätze als String-Paare einzeln
und speicherst die dann in der Textdatei ab. Beim Anzeigen der Vokabeln entschlüsselst Du die jeweiligen String-Paare vor dem Ausgeben. Nur, was ich zu bezweifeln wage ... ob jemand den Aufwand macht, einen Vokabeltrainer zu cracken. Sicherlich machst Du Dir eine Menge Arbeit beim Erstellen der Datenbank. Das ist viel Tipparbeit. (sei denn Du klaust sie irgendwo selber :D) Denn Vokabeltrainer gibt es wie Sand am Meer. Und bisher habe ich keinen gefunden, der mir optisch, funktioniell und von der Bedienung her gefiel. Außer meinem damals selbstgeschriebenem. Und hier wird der Knackpunkt liegen. Bist Du sicher, daß sich der ganze Aufwand lohnt? Welche Vorteile soll er denn bieten? EDIT: zumm Updaten könntest eine Zip Datei anbieten. Kann jeder öffnen und dann in das Verzeichnis packen. Könntest auch mit Innosetup einen Installer anbieten. 1x installieren. und dann auch nen Updater damit anbieten: Pfad aus der Registry auslesen und die Datenbank dort hinkopieren. Allerdings mag ich keine Programme, die in die Registry schreibe oder in meinem System rumfudeln. Und schon gar nicht, wenn es mehr ist als der Pfad zum Programmm !!! Für alles andere gibt es eine lokale .INI Miranda (ICQ) schreibt nur den Pfadnamen in die Registry, sonst nix... das geht noch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 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