7zip - Erstellen Sie ein selbstentpackendes Archiv (sfx) mit dem angegebenen Extraktionspfad

24889
Cricrazy

Hallo SuperUser-Experten,

Vielen Dank für Ihre Hilfe im fortgeschrittenen Bereich. Ich versuche, das 7zip SFX-Archiv zum Erstellen einer ausführbaren Datei zu erhalten. Ich kann die ausführbare Datei erhalten. Aber wenn ich es laufen lasse, gibt es den Downloadpfad für Extract to:. Ich möchte %AppData%\Roamingstandardmäßig wechseln . Der folgende Screenshot gibt eine Vorstellung davon, was ich versuche.

7zip settings

Extract To: dialogue box

Es gibt keine setup.exe oder irgendetwas im Archiv, es gibt nur wenige Dateien, die in den RoamingOrdner gehen müssen . Dies ist für viele unserer Benutzer, die diese Updates erhalten können, ohne dass sie einen Pfad angeben. (Es ist immer einfach, wenn Benutzer keinen Pfad angeben müssen, andernfalls kann der Benutzer meiner Meinung nach die ungewöhnlichsten Pfade wählen !!)

Vielen Dank.

Aktualisieren

Hier ist was ich bisher ausprobiert habe. Mein Inhalt der Konfigurationsdatei ist

;!@Install@!UTF-8! InstallPath="%AppData%\\Roaming\\Notepad++" ;!@InstallEnd@! 

Dies ist der Befehlszeilenaufruf.

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

Leider klappt es nicht . Es gibt den folgenden Pfad. Es sollte sein %AppData%\\Roaming\\Notepad++.

[Extract path]

10
Diese Option ist mit WinRAR verfügbar, aber Sie wissen nicht, wie 7-zip aussehen soll. Don't Root here plz... vor 7 Jahren 0

3 Antworten auf die Frage

6
DavidPostill

Ich möchte den Extraktionspfad %AppData%\Roamingstandardmäßig ändern .

Sie müssen ein "modifiziertes Modul" von 7z SFX Builder (sourceforge) herunterladen .

Überprüfen Sie die Links auf der linken Seite nach Dokumentation (beachten Sie diese Links und den folgenden Text von https://web.archive.org/ ).

In Ihrer Konfigurationsdatei:

InstallPath="%AppData%\Roaming" 

Konfigurationsdatei-Parameter

InstallPath = "path_to_extract"

Legt den Extraktionspfad fest. Der Extraktionsordner wird nach der Extraktion nicht gelöscht.

Wenn der InstallPathWert nicht in der Konfigurationsdatei vorhanden ist oder der Pfad aus dem interaktiven Extraktionsdialogfeld gelöscht wurde, wird das Archiv in einen temporären Ordner extrahiert. Dieser temporäre Ordner wird nach dem Extrahieren und Ausführen aller Befehle gelöscht.

Umgebungsvariablen sind zulässig (mit Ausnahme von %%Tund Variablen SetEnvironment, %%Tdie in einem von ihnen verwendet werden). Sie MÜSSEN DOPPELTE Backslashes in Pfaden verwenden. Zum Beispiel:

InstallPath="C:\\Windows\\system32\\test" 

oder

InstallPath="%PROGRAMFILES%\\test" 

Relative Pfade sind erlaubt. Der aktuelle Ordner ist der Ordner, von dem aus das Programm ausgeführt wurde, das das SFX-Archiv startet. Zum Beispiel,

InstallPath="test" 

erstellt einen Ordner mit dem Namen "test" in dem Ordner, von dem aus das Programm ausgeführt wurde, das das SFX-Archiv startet. Alle Dateien werden in den "Test" -Ordner entpackt. Auf der anderen Seite,

InstallPath="." 

extrahiert den Archivinhalt in den Ordner, von dem aus das Programm ausgeführt wurde, das das SFX-Archiv startet. Ebenfalls,

InstallPath="%%S" 

extrahiert den Archivinhalt in den Ordner, in dem sich die SFX befindet.

Wenn Sie lediglich den Archivinhalt in einen bestimmten Ordner extrahieren möchten, müssen Sie einen Wert InstallPathin der Konfigurationsdatei angeben .

In diesem Fall sollten Sie RunProgramoder ExecuteFilein der Konfigurationsdatei nicht angeben . AutoInstalloder AutoInstallXkann in der Konfigurationsdatei angegeben werden, sollte aber nicht über die Befehlszeile oder mit der [SHIFT] -Taste aufgerufen werden.

Wenn Sie RunProgramoder ExecuteFileoder aufrufen AutoInstallund AutoInstallXangeben, wird die angegebene ausführbare Datei nach der Extraktion gestartet.

Quelle Konfigurationsdatei Parameter

Danke David. Aber können Sie mir sagen, wie man die Konfigurationsdatei verwendet? Cricrazy vor 7 Jahren 0
@Cricrazy Siehe [Allgemeine Informationen zum modifizierten Modul] (http://7zsfx.info/de/), die Sie herunterladen müssen, und überprüfen Sie die Links auf der linken Seite. Antwort aktualisiert DavidPostill vor 7 Jahren 0
Diese 7-Zip-Konfigurationseinstellung "InstallPath" ist genau das, was ich suche. Momentan muss ich eine Batchdatei erstellen, um Dateien aus dem temporären Extraktionsordner in den Laufzeitordner unserer Anwendung zu kopieren: `; @ Install @! UTF-8! Title = "Local Manager" InstallPath = "C: \ kiosk \ update" RunProgram = "7zbootstrap.bat";! @ InstallEnd @! @ECHO OFF REM 7zbootstrap.bat SETLOCAL SET update = C: \ Kiosk \ update XCOPY *. *% Update% \ / S / E / I / F / J CD% update% ECHO STARTET AUTOUPDATE.BAT SCRIPT TIMEOUT / T 5 / NOBREAK autoUpdate.bat` [link] (http://7zsfx.info/de/) funktioniert jedoch nicht mehr. papertape vor 7 Jahren 0
Mini-Markdown kann den Codeblock nicht richtig formatieren. Bitte ändern Sie, wenn Sie wissen, wie. Vielen Dank. papertape vor 7 Jahren 0
@papertape Neuer Link ist https://sourceforge.net/projects/s-zipsfxbuilder/ DavidPostill vor 7 Jahren 0
@papertape Antwort aktualisiert mit funktionierenden Links. DavidPostill vor 7 Jahren 0
3
omegastripes

Probieren Sie 7z SFX Builder aus . Er ist kostenlos und unterstützt Befehlszeilenparameter. Außerdem können Sie den Extraktionspfad auf der GUI-Hauptregisterkarte angeben :

Hauptregisterkarte

omegastripes, es funktioniert super. Vielen Dank. Es hat erstaunlich viele Möglichkeiten. Danke vielmals. Cricrazy vor 7 Jahren 0
McAfee löscht das Exe nach der Installation wegen eines Trojaners ... Lieven Cardoen vor 7 Jahren 0
-2
user703610

Verwenden Sie einfach -y -oPathtoextract

z.B Setup.exe -y -oc:\abc

Kannst du ein Beispiel geben? Was ist zB und -oc? Cricrazy vor 7 Jahren 1
"eg" steht für "expempli gratia", was im Grunde "zum Beispiel" bedeutet. Es wird häufig verwendet, um ein Beispiel anzugeben, genau wie Sie es wünschen. Die Antwort ist immer noch erklärungsbedürftig und könnte eine Formatierung verwenden, sie enthält jedoch ein vollständiges Beispiel. music2myear vor 7 Jahren 0
Wenn Sie den Befehl näher erläutern können? Sie sollten immer eine Übersicht darüber geben, welche Befehle ausgeführt werden sollen, da der Benutzer am anderen Ende der Befehle mit Funktionen, die sie nicht kennen, vorsichtig sein wird. Service Manager vor 7 Jahren 0
Befehlszeilenparameter werden an das enthaltene Exe übergeben. Kazark vor 7 Jahren 0