XspYroX Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Hi. Ich schreibe aktuell eine kleine Exe, die ein embedded Zip-File auf die Festplatte extrahieren soll. Habe das einmal mit einer Zip gemacht, die ca. 200 MB groß ist. Jetzt möchte/muss ich aber eine Zip-Datei einbinden, die 20 GB groß ist. Und da streikt der Compiler mit "Für diesen Vorgang ist nicht genügend Speicher verfügbar.". Habe jetzt etwas gegoogelt und angeblich soll es daran liegen, dass der RAM nicht ausreicht (habe ja "nur" 8GB Ram im Rechner). Frage: Muss ich tatsächlich auf einem Rechner compilieren, der über 20 GB Ram hat? Meinentwegen kann das Kompilieren auch lange dauern, hauptsache er tut es. Ich arbeite mit Visual Studio 2013 auf einem Windows 8.1 System mit 64 Bit. Gibt es vllt Optionen, die das Kompilieren auf die auslagerungsdatei auslagern oder sonst etwas? Das muss ddoch in der heutigen Zeit möglich sein :/ Ansonsten, gibt es noch andere Möglichkeiten? Ich brauche das Zip-File eingebettet in der Exe-Datei :/ Freue mich über jeden Tipp Viele Grüße XspYroX Zitieren
Klotzkopp Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Ich brauche das Zip-File eingebettet in der Exe-Datei :/Warum? Dein Vorhaben schreit förmlich "Holzweg". Zitieren
RipperFox Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Die mir bekannten SFX Komponenten (von 7zip, WinRar, etc.) nutzen einen Programmstub, welcher einfach vor die gepackten Daten kopiert wird und welcher sein Ende erkennt - die Daten werden also nicht als Resource eingepackt. Versuch mal, ob Deine ZIP-Entpackmethode ungültige Daten am Anfang überspringt - wenn ja, sollte es reichen das ZIP hinter deine Exe zu kopieren (in etwa: copy /b my.exe + my.zip result.exe) und die entstandene Exe zu entpacken Ob eine 20 GB große selbstextrahierende Datei aber die feine Art ist, wage ich zu bezweifeln.. Zitieren
XspYroX Geschrieben 12. Mai 2014 Autor Geschrieben 12. Mai 2014 Ich möchte eine "one-click" und "one-file" lösung für mein Vorhaben (extrahieren einer zip-datei an einen bestimmten ort, wenn bestimmte voraussetzungen gegeben sind). Würde es gerne ohne eine ausgelagerte zip-datei machen :/ Gibt's da irgend einen Weg? Zitieren
XspYroX Geschrieben 12. Mai 2014 Autor Geschrieben 12. Mai 2014 @RipperFox: Sowas ähnliches hatte ich vorher auch schonmal versucht. Ich muss aber noch etwas Logik und Abfragen vor das Entpacken bauen, daher reicht in normels SFX leider nicht Zitieren
Guybrush Threepwood Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Was du willst ist ein Setup Zitieren
XspYroX Geschrieben 12. Mai 2014 Autor Geschrieben 12. Mai 2014 Irgendwie schon... wollte es nur komplett selbst programmieren und nicht auf MSI-builder o.ä. zurückgreifen Aber ich habe jetzt einen mittelguten Weg gefunden, den ich gerade Teste. Dabei wird aber dann zwangsweise die Zip-Datei ausgelagert... Trotzdem komisch, dass es da beim Kompilieren probleme gibt. Auch wenn das nicht die feine Art ist, sollte sowas im Jahr 2014 doch schon irgendwie möglich sein.... Also ist jetzt mein Gedanek dazu Trotzdem danke Zitieren
Klotzkopp Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Aber ich habe jetzt einen mittelguten Weg gefunden, den ich gerade Teste. Dabei wird aber dann zwangsweise die Zip-Datei ausgelagert.Das heißt, du hast die Prämisse des hier beschriebenen Problems mal eben über Bord geworfen. Auch wenn das nicht die feine Art ist, sollte sowas im Jahr 2014 doch schon irgendwie möglich sein.... Ist es vermutlich auch. Aber anscheinend halten die, die so etwas umsetzen könnten, das nicht für notwendig. In etwa so wie 150 Meter lange Kettensägen. Zitieren
XspYroX Geschrieben 12. Mai 2014 Autor Geschrieben 12. Mai 2014 Das heißt, du hast die Prämisse des hier beschriebenen Problems mal eben über Bord geworfen. Ist es vermutlich auch. Aber anscheinend halten die, die so etwas umsetzen könnten, das nicht für notwendig. In etwa so wie 150 Meter lange Kettensägen. Die Prämisse MUSSTE ich über Bord werfen, da es anscheinend so einfach nicht machbar ist. Technisch nicht machbar. Da kann ich mich hinsetzen und weinen oder ich beiß in den sauren Apfel und muss nen anderen Weg nehmen :/ Naja, das Beispiel mit der Kettensäge trifft es nicht ganz. Es ging mir ja um die Frage, ob es theoretisch überhaupt möglich ist. Eine 150 meter lange Kettensäge ist theoretisch ja möglich Aber ok, Thema erledigt Danek an alle Helfenden =) Zitieren
pr0gg3r Geschrieben 12. Mai 2014 Geschrieben 12. Mai 2014 Es ging mir ja um die Frage, ob es theoretisch überhaupt möglich ist. Eine 150 meter lange Kettensäge ist theoretisch ja möglich Mit genügend Arbeitsspeicher ist deine tausend GB große Datei in deine Exe zu compilieren auch möglich... Zitieren
XspYroX Geschrieben 12. Mai 2014 Autor Geschrieben 12. Mai 2014 Mit genügend Arbeitsspeicher ist deine tausend GB große Datei in deine Exe zu compilieren auch möglich... Hab auch was davon gelesen, dass es vllt auch an dem Limit von 32 Bit liegt... Habs jetzt nicht mit einer 4,1 GB großen Datei probiert... Die Fehlermeldung kam auch fast sofort, insofern hat er vllt einfach die Größe der Zip-Ressource geprüft und gemerkt, dass die zu groß ist... Und ich habe das Projekt schon auf 64-Bit kompilieren gestellt. Aber Visual Studio gibts wohl nur in 32-Bit und da könnte es dann haken :/ Egal, Solved somehow Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.