7zip - Créer une archive auto-extractible (sfx) avec le chemin d'extraction spécifié

15

Bonjour experts SuperUser,

Merci pour votre aide avancée. J'essaie d'obtenir l'archive SFz 7zip pour créer un exécutable. Je peux obtenir l'exécutable. Mais quand je l'exécute, il donne le chemin de téléchargement pour Extract to:. Je voudrais changer %AppData%\Roamingpar défaut. La capture d'écran ci-dessous donnera une idée de ce que j'essaie de faire.

Paramètres 7zip

Boîte de dialogue Extraire vers:

Il n'y a aucun setup.exe ou quoi que ce soit à l'intérieur de l'archive, il a juste quelques fichiers qui doivent aller dans le Roamingdossier. C'est pour beaucoup de nos utilisateurs, qui peuvent obtenir ces mises à jour sans qu'ils spécifient un chemin. (C'est toujours facile lorsque les utilisateurs n'ont pas à spécifier de chemin, sinon, selon mon expérience, les utilisateurs peuvent choisir les chemins les plus inhabituels !!)

Je vous remercie.

Mettre à jour

Voici ce que j'ai essayé jusqu'à présent. le contenu de mon fichier de configuration est

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

Il s'agit de l'appel en ligne de commande.

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

Malheureusement, cela ne fonctionne pas . Il donne le chemin suivant. Ça devrait l'être %AppData%\\Roaming\\Notepad++.

[Extraire le chemin]

Gifcrazy
la source
Cette option est disponible avec WinRAR mais ne connaît pas le 7-zip.
Don't Root here plz ...

Réponses:

7

Essayez 7z SFX Builder , c'est gratuit, prend en charge les paramètres de ligne de commande, et vous pouvez également spécifier le chemin d'extraction dans l' onglet principal de l' interface graphique :

Onglet principal

omegastripes
la source
omegastripes, cela fonctionne très bien. Je vous remercie. Il a une quantité incroyable d'options. Merci beaucoup.
Gifcrazy
McAfee supprime l'exe après l'installation à cause d'un cheval de Troie ...
Lieven Cardoen
8

Je voudrais changer le chemin d'extraction %AppData%\Roamingpar défaut.

Vous devez télécharger un "module modifié" depuis 7z SFX Builder (sourceforge).

Vérifiez les liens à gauche pour la documentation (notez ces liens et le texte ci-dessous est de https://web.archive.org/ )

Dans votre fichier de configuration:

InstallPath="%AppData%\Roaming"

Paramètres du fichier de configuration

InstallPath = "path_to_extract"

Définit le chemin d'extraction. Le dossier d'extraction ne sera pas supprimé après l'extraction.

Si la InstallPathvaleur n'est pas présente dans le fichier de configuration ou si le chemin a été supprimé de la boîte de dialogue d'extraction interactive, l'archive sera extraite dans un dossier temporaire. Ce dossier temporaire sera supprimé après l'extraction et l'exécution de toutes les commandes.

Les variables d'environnement sont autorisées (à l'exception de %%Tet les variables définies dans SetEnvironment, si %%Test utilisé dans l'une d'entre elles). Vous DEVEZ utiliser des doubles barres obliques inverses dans les chemins. Par exemple:

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

ou

InstallPath="%PROGRAMFILES%\\test"

Les chemins relatifs sont autorisés. Le dossier actuel est celui à partir duquel le programme de lancement de l'archive SFX a été exécuté. Par exemple,

InstallPath="test"

crée un dossier avec le nom de "test" dans le dossier à partir duquel le programme de lancement de l'archive SFX a été exécuté. Tous les fichiers seront extraits dans le dossier "test". D'autre part,

InstallPath="."

extrait le contenu de l'archive dans le dossier à partir duquel le programme de lancement de l'archive SFX a été exécuté. Également,

InstallPath="%%S"

extrait le contenu de l'archive dans le dossier où se trouve le SFX.

Si tout ce dont vous avez besoin est d'extraire le contenu de l'archive dans un certain dossier, vous devez spécifier une valeur pour InstallPathdans le fichier de configuration.

Dans ce cas, vous ne devez pas spécifier RunProgramni ExecuteFiledans le fichier de configuration. AutoInstallou AutoInstallXpeut être spécifié dans le fichier de configuration, mais ne doit pas être appelé via la ligne de commande ou avec la touche [MAJ].

Si vous spécifiez RunProgramou ExecuteFileou appelez AutoInstallet AutoInstallX, l'exécutable spécifié sera lancé après l'extraction.

Paramètres du fichier de configuration source

DavidPostill
la source
Merci David. Mais pouvez-vous me dire comment utiliser le fichier de configuration?
Gifcrazy
@Cricrazy Voir Informations générales sur le module modifié que vous devez télécharger et vérifiez les liens à gauche. Réponse mise à jour.
DavidPostill
Ce paramètre de configuration 7-Zip InstallPathest exactement ce que je recherche. À l'heure actuelle, je dois créer un fichier de commandes pour copier les fichiers du dossier d'extraction temporaire vers le dossier d'exécution de notre application: ;!@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 /Y CD %update% ECHO LAUNCHING AUTOUPDATE.BAT SCRIPT TIMEOUT /T 5 /NOBREAK autoUpdate.bat Cependant, le lien ne fonctionne plus.
bande papier
Impossible d'obtenir un mini-Markdown pour formater correctement le bloc de code. Veuillez modifier si vous savez comment. Merci.
bande papier
@papertape Le nouveau lien est sourceforge.net/projects/s-zipsfxbuilder
DavidPostill
0

Utilisez simplement -y -o<PathToExtract>:Setup.exe -y -oc:\abc

user703610
la source
2
Pouvez-vous donner un exemple? qu'est-ce que par exemple et -oc?
Gifcrazy
1
"par exemple" signifie "expempli gratia", qui signifie essentiellement "par exemple". Il est couramment utilisé pour indiquer un exemple, tout comme vous le demandez. La réponse est encore sans explication et pourrait utiliser le formatage, mais elle comprend un exemple complet.
music2myear
Si vous pouvez développer la commande? Vous devriez toujours donner une ventilation de ce que les commandes vont faire, car l'utilisateur à l'autre bout va se méfier des commandes avec des fonctions qu'il ne connaît pas.
Service Manager
Les paramètres de ligne de commande sont transmis à l'Exe contenu.
Kazark