2009-05-04 14 views
8

Aufgrund einer Reihe von Einschränkungen, auf die ich nicht eingehen werde, muss ich ein selbstextrahierendes ZIP-Archiv auf einer Linux-Box erstellen. Das resultierende Archiv sollte nur unter Windows lauffähig sein. Ist das überhaupt möglich? Wenn ja, welche Tools würden die Aufgabe erfüllen?Erstellen eines selbstextrahierenden Zip-Archivs auf einer Linux-Box

Hintergrund: wenn der Benutzer ein Setup-Paket von meiner Linux-Box herunterlädt, muß ich die Setup-Paket mit einem bestimmten Schlüssel vorausgefüllt werden. Ich kenne diesen Schlüssel nur zur Laufzeit; Meine Idee war, eine einfache .xml-Datei mit diesem Schlüssel zu schreiben, dann das .msi-Installationsprogramm mit dieser XML-Datei in ein selbstextrahierendes Archiv zu zippen und diese Datei an den Browser zu senden. Wenn Sie alternative Ideen haben, wie Sie es schaffen können, würde ich gerne auch diese hören.

+0

Sie müssen angeben, auf welcher speziellen Plattform das Archiv ausführbar sein soll. – bignose

+0

Eine Erläuterung hinzugefügt - nur Windows. –

Antwort

9

Ihre Antwort finden Sie auf der folgenden Seite: http://ubuntuforums.org/showthread.php?t=847329 Bitte beachten Sie, dass ich nicht für etwas anderes als die Verwendung von Google und etwas zu finden, das logisch klingt, als würde es funktionieren. Ich kann nicht garantieren, dass diese Informationen funktionieren oder dass Sie die genannten Materialien online nicht mehr finden können. Ich bin nur ein Fan von Google. Ich hoffe das hilft.

Das Problem Ein paar Tage zurück musste ich für einen Freund eine Win32-kompatibel selbstextrahierende ZIP-Datei erstellen. Klingt einfach, richtig. Das Problem war , dass ich keine Windows-Maschine in der Nähe hatte und ich wollte keine Archivierungsprogramme unter Wine installieren.

HINWEIS: Ein Freeware-ZIP-Programm wie IZArc unter Wine kann verwendet werden, eine Win32 selbstextrahierende ZIP-Datei zu erstellen. Das wird nicht von dieser howto behandelt, sorry.

Die „Forschung“ googeln um dieses Forum Post vom August durch eine normale ZIP-Datei 2003 es Lesen fand ich heraus, dass selbstextrahierende ZIP-Dateien sind nichts mehr, aber eine geeignete unzip binäre folgte ich gefunden. Ich benutzte die unzipsfx.exe in Info-ZIP UnZip 5.52 enthalten.

Der Link auf diesem Beitrag arbeitete ein paar Tage vor, so bekam ich meine Hände auf die unzipsfx.exe, die ich suchte. Heute, 2. Juli 2008 habe ich den Link tot gefunden. Nach einigem googeln habe ich nirgendwo einen funktionierenden Link gefunden. Ich lese die Lizenz ein paar Mal und verstanden , dass ich die ursprüngliche unzipsfx.exe mit einer Lizenz neu verteilen kann.

Bitte beachten Sie, dass die unzipsfx-552_win32.tar.gz (80 kB) ist keine offizielle Info-ZIP-Paket und es enthält urheberrechtlich geschützte Software, die ich keinen Kredit für nehmen. Weitere Informationen finden Sie in der Info-ZIP-Lizenz, die ebenfalls im Tarball enthalten ist . Den Quellcode für der enthaltenen Binärdateien finden Sie hier .

Die Lösung

Schritt eins, die unzipsfx bekommen.exe und Zip-Paket: * Öffnen Sie das Terminal (in Ubuntu drücken Sie Alt + F2 und geben Sie gnome-terminal) * Tragen Sie die folgenden Befehle Code:

wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx-552_win32.tar.gz tar zxf unzipsfx-552_win32.tar.gz sudo apt-get install zip

Schritt zwei, eine ZIP-Datei in Ubuntu erstellen: * öffnen Sie den Dateimanager (nautilus) und wählen Sie die Dateien Reißverschluss * rechten Maustaste und wählen erstellen Sie ein Archiv haben wollen (o.ä). Wählen Sie einen Speicherort für die ZIP-Datei aus, mit dem Home-Verzeichnis ist das einfachste. Wählen Sie Typ .zip. Informationen zum Erstellen einer ZIP-Datei im Befehl finden Sie unter man zip für Informationen .

Schritt drei, so dass die ZIP-Datei selbstextrahier * Typ in der folgenden Befehle Code:

Katze unzipsfx-552_win32/unzipsfx.exe MYZIPFILE.zip> mysfxfile.exe zip -A mysfxfile. exe

mysfxfile.exe kann nun in jedem Win32-kompatibelen System geöffnet werden (einschließlich für Beispiel Windows XP/2000/Vista und sogar Wine in Linux) oder in ein ZIP-kompatibles Archivprogramm wie Datei-Rolle in Ubuntu.

0

Ich konnte diese Arbeit mit unzipsfx machen. Es gibt eine neuere Version davon - kam gerade im April 2009 - Version 6.0 heraus. Version 5.52 unterstützte die kritische Funktionalität nicht, die ich benötigte - eine bestimmte Setup-Datei nach Abschluss der Extraktion starten.

Also habe ich die Quelldateien für 6.0 heruntergeladen. Ich habe sie dann modifiziert, um die "Prompt to launch stuff" Prüfung auszuschließen, die standardmäßig vorhanden ist. Ich habe Visual Studio 2008 neu kompiliert, die im obigen Tutorial beschriebenen Schritte ausprobiert und es funktioniert jetzt wie ein Zauber.

+0

Wenn Sie die Antwort gefunden haben, können Sie es bitte korrekt markieren? Auch eine Verknüpfung von der Antwort auf die Seite mit der Software wäre hilfreich. – bignose