Speichern in .exe oder ähnlich
-
Grüsse zusammen,
Ich habe folgendes Problem. Ich habe eine SDI-Anwendung geschrieben, die sich mit der Zeit entwickelt hat. Inzwischen hat sie eine kleinere Grösse erreicht und beinhaltet auch Optionen. Diese Optionen sollen nun gespeichert werden, so dass sie nach dem Beenden der Anwendung und wieder starten immer noch vorhanden sind. Dazu gibt es eigentlich zwei Methoden, welche ich kenne. Entweder man setzt all das Zeugs in die Registry oder man erstellt eine Datei neben der .exe, z.b. eine .ini oder eine config. Eine extra Datei sehe ich allerdings als unsinnig, für die wenigen Optionen, an, da es sich am Ende wohl nicht mal um 100 Bytes handeln würde. Dazu müsste ich dann beim entfernen des Programms, es dem User überlassen, die Datei zu entfernen, was ich gefährlich finde. Also müsste ein Setup her und das ergibt auch einige Probleme, welche am Ende des nächsten Punktes erläutert werden.
Also würde man nun sagen, ab damit in die Registry. Das Problem bei der Registry ist, dass ich dazu nen Setup mitgeben müsste, damit alles auch sauber wieder deinstalliert wird. Leider würde das die Einführung des Programms drastisch verlängern, da es dann durch mehr und längere Testläufe müsste (Vorschriften -> grml).Daher nun meine Frage, kann man die Daten nicht irgendwie anderst abspeichern? Zum Beispiel direkt ans Ende der .exe?
Und das ganze sollte noch wenn möglich mit C++ und der MFC gelöst werden. Naja die API oder sowas wäre auch noch zugelassen, hauptsache C++.
Vielen Dank im voraus.
Grüssli
-
Von der Registry würde ich Persönlich abraten und eine INI Datei bevorzugen. Ebenfalls würde ich zu einer Setuproutine raten, da es immer noch sehr viele Benutzer gibt die nicht wissen wie man mit Zip Files umgeht. Wieso sollte es gefährlich sein wenn der Benutzer die INI Datei behalten will?
-
Das Problem ist, dass die Firma das nicht will. Die wollen saubere Lösungen. Wie gesagt ich würde wohl auch ein Setup machen, aber mir wäre lieber, wenn man es eben direkt in die .exe abspeichern könnte oder sowas in der Art, dass ich nicht noch etwas zusätzliches bräuchte. Das Setup erfordert aber dann eben leider eine deutliche länger Testzeit und auch Updates, brauchen dann immer mehrere Wochen mehr, bis sie eingeführt werden dürfen.
Grüssli
-
Hallo!
Also wegen Setup schau dir mal Inno-Setup an. Das entfernt ALLES, was es bei der Installation erstellt, bei der Deinstallation auch wieder.
Ist auch ganz einfach zu bedienen.
Wenn du magst schicke ich dir zu Demozwecken ein Setup mit irgendeiner Exe und ner Dummy.ini.
-
Sagt mal lest ihr überhaupt was ich schreibe? ^^
Ich kenne Inno Setup, habe schon mit dem Setups erstellt, ist supi einfach. Aber es geht um Testzeiten bei der Firma, wo das Programm dann hin soll. Dass die nicht entstehen sollen. Aber lest doch mal was ich geschrieben habe und wenn ihr was nicht versteht dann frage.
Muss jetzt leider aus dem Haus, deshalb nicht genügend Zeit um rumzufluchen, dass niemand das liest was ich schreibe
Grüssli
-
Ich konnte einfach nicht glauben, dass die ein schon getestetes Programm (Inno Setup) nochmal testen wollen.
Iso 9000 oder wie?
-
Das ist eine Internationale Grossfirma, die testen jedes Programm, egal welcher Herkunft auf Nieren und Lungen. Und wenn es kein Setup hat, dann geht der Testlauf deutlich schneller. Sobald das Programm aber mit Setup geliefert wird, brauchen die mehr um zu testen. Zudem habe ich gesagt das mein Programm getestet wird und nicht das Setup. Und desweitern, wenn ich sage, dass sie es testen, dann testen sie es wohl ^^
Es geht ja auch gar nicht wirklich um das Setup, es geht ihnen daraum was das Setup, welches von mir eingerichtet wurde bei ihnen macht. Die müssen schauen ob alles kompatibel ist. Treten keine Störungen auf usw. usf. Und weil das noch faule Säcke dort sind, geht das halt auch noch etwas länger.
Während ein Programm ohne Setup diesen Testlauf umgehen könnte, weil man dann sagen könnte, dass das Programm nichts am Computer verändert und nur für sich laufen kann. Bzw. dann wird nur schnell geschaut, ob das Programm funktioniert und ob es nicht stört. Das geht innert zwei Tagen.
Und ich hab immer noch keine Antwort ^^ MAAAN!!!
Grüssli
-
Ok, aber eigentlich geht es in diesem thread ja nicht um das Setup, sondern das Speichern der Einstellungen des Programmes. Ich würde hier davon abraten das ganze in der Exe Datei reinzuschreiben. Nach wie vor würde ich eine Einstellungsdatei alla INI oder XML Datei empfehlen. Natürlich ginge es auch über die Registry, aber somit hat der Benutzer nach dem entfernen des Programms den überflüssigen Müll noch in der Registry stehen, was viele Benutzer sehr nervig finden (mich eingeschlossen). Wenn die Dateien wirklich nicht sein dürfen wäre es eventuell über eine Datei in den Resourcen der Exe möglich das ganze zu realisieren.
-
Eine Datei in den Ressourcen der Exe? Das tönt interessant, kannst du das genauer erläutern?
(Als nebensächlicher Zusatz: Im Inno Setup gibt es für registrykey ein Flag das uninsdeletekey heisst oder so ähnlich, so wird der Key beim deinstallieren gelöscht. Anders würde ich die Registry nie verwenden!)
Aber eben wie geht das nun mit der Datei in den Ressourcen? Hast du da irgendwelches Lesematerial dazu (Wenn möglichst online)? Oder kannst du es selber ein wenig genauer erläutern?
Grüssli
-
Schau mal hier
http://www.tutorials.de/forum/visual-basic/17440-speichern-der-exe.htmlda ist das wesentliche erläutert. Aber geht das unter Windoes ??
Und was sagt ein Virenscanner, wenn die datei größer oder kleiner wird ??
-
Hab da nur in Erinnerung das ich so ein Artikel bei www.codeproject.com gesehen habe.
Vielleicht was hilfreiches http://www.codeproject.com/cpp/dynares.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/resourcereference/resourcefunctions/updateresource.asp