7-Zip-SFX-Programmdatei erstellen

19559
Doktoro Reichard

Ich spiele mit 7-Zip herum, um eine selbstextrahierende Archivdatei (SFX) zu erstellen. Ich habe die Dokumentation befolgt, konnte mich aber nicht annähern. Ich verwende das 7-Zip 32-Bit und das 7-Zip-Extra 32-Bit.

Hier stelle ich mich zuerst an, um eine SFX-Datei zu erstellen, die Sie benötigen, um das folgende Skript aufzurufen:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe 

Dadurch wird eine Datei generiert archive.exe, die die config.txtDatei enthält, um das entsprechende Programm auszuführen. So sieht die config.txtDatei aus:

;!@Install@!UTF-8! Title="7-Zip 4.00" BeginPrompt="Do you want to install the 7-Zip 4.00?" RunProgram="setup.exe" ;!@InstallEnd@!` 

Dies wird generiert archive.exe.

Weiter unten in der Dokumentation erfahren Sie, wie Sie eine Datei hinzufügen. Ich muss die setup.exeDatei komprimieren, damit ich das folgende Skript verwenden kann.

7z a -sfx a.exe setup.exe 

Ich bin verwirrt über dieses Beispiel. Benutze ich archive.exestatt a.exe? Und wenn ich das mache, erhalte ich die Fehlermeldung, dass archive.exees sich nicht um einen unterstützten Archivtyp handelt.

Wenn ich den Namen a.exeund setup.exedas a beibehalten habe und die archive.exeDatei auch mit dem vorherigen Skript hinzugefügt habe, würde ich die Datei lediglich in den lokalen Ordner extrahieren, anstatt sie auszuführen.

Warum passiert dies?

7

4 Antworten auf die Frage

7
jcrawfor74

Ich habe Schritt-für-Schritt-Anleitungen dazu erstellt, da ich auch sehr verwirrt war, wie ich das erreichen kann.

So erstellen Sie ein selbstextrahierendes Archiv, in dem Ihre setup.exe mit dem Schalter 7zip -sfx ausgeführt wird

Schritt 1 - Richten Sie Ihren Installationsordner ein

Um dies zu vereinfachen, erstellen Sie einen Ordner c: \ Install. Hier kopieren wir alle benötigten Dateien.

Schritt 2 - 7Zippen Sie Ihre Installationsprogramme

  1. Wechseln Sie in den Ordner, in dem sich Ihre .msi und Ihre setup.exe befinden
  2. Wählen Sie sowohl die .msi als auch die setup.exe aus
  3. Klicken Sie mit der rechten Maustaste und wählen Sie 7Zip -> "Zum Archiv hinzufügen".
  4. Benennen Sie Ihr Archiv "Installer.7z" (oder einen Namen Ihrer Wahl)
  5. OK klicken
  6. Sie sollten jetzt "Installer.7z" haben.
  7. Kopieren Sie diese .7z-Datei in Ihr Verzeichnis c: \ Install

Schritt 3 - Holen Sie sich das 7z-Extra sfx-Erweiterungsmodul

Sie müssen den 7z-Extra herunterladen.

  1. Folgen Sie diesem Link, um 7Zip herunterzuladen
  2. Sie müssen die Version 9.20 (als @ Mai-2015) herunterladen, da die Betaversion nicht die korrekten Dateien enthält.
  3. Ein direkter Download- Link.
  4. Extrahieren Sie die zusätzlichen 7-ZIP-Dateien
  5. Kopieren Sie die Datei "7zS.sfx" nach c: \ Install

Schritt 4 - Richten Sie Ihre config.txt ein

Ich würde empfehlen, NotePad ++ zu verwenden, um diese Textdatei zu bearbeiten, da Sie in UTF-8 kodieren müssen. Die folgenden Anweisungen verwenden Notepad ++.

  1. Gehen Sie mit dem Windows-Explorer zu c: \ Install
  2. Klicken Sie mit der rechten Maustaste, wählen Sie "Neue Textdatei" und nennen Sie es "config.txt"
  3. Klicken Sie mit der rechten Maustaste und wählen Sie "Mit NotePad ++ bearbeiten"
  4. Klicken Sie auf das "Encoding Menu" und wählen Sie "Encode in UTF-8".
  5. Geben Sie so etwas ein:
    ;! @ Install @! UTF-8! Title = "SOFTWARE v1.0.0.0" BeginPrompt = "Möchten Sie SOFTWARE v1.0.0.0 installieren?" RunProgram = "setup.exe" ;! @ InstallEnd @! 

Bearbeiten Sie dies und ersetzen Sie [SOFTWARE v1.0.0.0] durch Ihren Produktnamen. Hinweise zu den Parametern und Optionen für die Setup-Datei finden Sie hier

Kontrollpunkt

Sie sollten jetzt einen Ordner "c: \ Install" mit den folgenden 3 Dateien haben:

  1. Installer.7z
  2. 7zS.sfx
  3. config.txt

Schritt 5 - Erstellen Sie das Archiv

Diese Anweisungen habe ich im Internet gefunden, aber nirgendwo wurden die 4 oben genannten Schritte erläutert.

  1. Öffnen Sie ein Cmd-Fenster, Window + R -> cmd -> drücken Sie die Eingabetaste
  2. Geben Sie im Befehlsfenster Folgendes ein
cd \ cd installieren copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe 
  1. Schauen Sie in c: \ Install und Sie werden jetzt sehen, dass Sie eine MyInstaller.exe haben
  2. Du bist fertig

Führen Sie das Installationsprogramm aus

Doppelklicken Sie auf MyInstaller.exe und Sie werden mit Ihrer Nachricht aufgefordert. Klicken Sie auf OK und die setup.exe wird ausgeführt.

PS Hinweis zur Automatisierung

Nachdem Sie dies in Ihrem c: \ Install-Verzeichnis ausgeführt haben, würde ich eine "Install.bat" -Datei erstellen und das Kopierskript darin einfügen.

[csharp] copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe [/ csharp]

Jetzt können Sie die Install.bat einfach jedes Mal bearbeiten und ausführen, wenn Sie eine neue Version Ihres Implementierungspakets neu erstellen müssen.

5
Stephen Jennings

Es ist viel einfacher, die 7-Zip-GUI zu verwenden, um ein selbstentpackendes Archiv zu erstellen. Wählen Sie die Option SFX, wenn Sie ein 7z-Archiv erstellen.

In diesem WikiHow-Artikel finden Sie detaillierte Schritte .

Screenshot (with freehand circle) of 7-Zip SFX option

Dies bietet jedoch nicht die Funktionen, die das OP benötigt. Sie können keine anderen SFX-Module verwenden und nicht konfigurieren. Daniel B vor 9 Jahren 1
5
prunge

Das ist fast richtig.

Im Schritt:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe 

Die archive.7zDatei ist das 7-zip-Archiv, das alle Ihre Dateien enthält. Dies sollte der letzte Schritt sein.

Vor diesem Schritt sollte archive.7z erstellt werden, das setup.exe und alle anderen erforderlichen Dateien enthält. Erstellen Sie dies mit:

7z a archive.7z setup.exe 
0
T.Todua

Mit 7zip SFX-Packager (es ist eine Open-Source- .bat- Datei) ist das ganz einfach. Sie können einfach Ordner per "Drag & Drop" darauf legen und ein tragbares / selbstextrahierendes Paket erstellen.