web-dev-qa-db-fra.com

Comment installer en mode silencieux une archive auto-extractible 7-Zip dans un répertoire spécifique?

Ruby Devkit est une archive auto-extractible basée sur 7-Zip.

Je voudrais l'invoquer silencieusement sans avoir à installer 7-Zip pour extraire les fichiers dans un dossier de mon choix, afin de pouvoir scripter l'installation. J'imagine que c'est quelque chose comme:

cmd> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe /silent /dir="C:\DevKit"

Mais cela, bien sûr, ne fonctionne pas. Quels drapeaux de ligne de commande dois-je utiliser pour extraire silencieusement cette archive dans un dossier de mon choix?

28
Jay Godse

essaye ça:

C:\> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe -o"C:\DevKit" -y
36
florind

Mise à jour 2017 : L'outil de 7zsfx.info est maintenant mort et disparu.


Original, ancien message de 08-2015 :

Si vous essayez d'extraire une archive 7Zip SFX ( http://7zsfx.info/ ):

sfx.exe -y -gm2 -InstallPath="C:\\your\\target\\path"

Commute Doc

  • -y masquer certaines invites
  • -gm2 masque complètement la boîte de dialogue d'extraction (mode silencieux)
  • -InstallPath définit le chemin cible (vous avez besoin de doubles barres obliques inverses)

Guide SFX 7z

La façon officielle de créer un package SFX est d'utiliser -sfx[{name}] : Create SFX archive.

Et cela signifie que les packages SFX créés utilisent deux types d'options CLI:

  1. les options CLI officielles de 7zSFX, et
  2. les options transmises que vous avez configurées dans votre configuration, avant de créer le package.

    Vous pouvez le considérer comme un transfert de paramètres vers l'exécutable empaqueté. Ce transfert de paramètres dépend de la configuration SetEnvironment et RunProgramm!

Le processus complet:

  1. Créer une archive Package.7z:
    • contenant Installer.msi et supplémentaires crap.cab fichier.
  2. Créer un fichier de configuration config.txt:

    ;!@Install@!UTF-8!
    Title="Installation"
    SetEnvironment="strInstall=hidcon:Installer.msi /qn"
    RunProgram="%strInstall%"
    ;!@InstallEnd@!
    
  3. Maintenant, nous générons Test.exe en combinant sfx + config + archive dans un exécutable.

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

    Remarque: 7zS.sfx provient du package supplémentaire officiel 7Zip.

  4. Maintenant, lorsque vous exécutez SfxInstaller.exe vous pouvez passer par exemple /lv InstallerLog.txt pour créer un journal d'installation, par exemple.

    SfxInstaller.exe /lv InstallerLog.txt

13
Jens A. Koch

Puisque 7-Zip est utilisé, créez simplement une archive auto-extractible en .exe. et l'exécuter avec les commutateurs -o et -y.

Je l'utilise pour économiser de l'espace sur la clé USB. Par exemple, j'exécute rarement l'application VDiskAir. Je crée une archive auto-extractible du dossier du programme VDiskAir (environ 15 Mo):

7z a -SFX -mx9 VDiskAir.exe [VDiskAir folder path]

NB: -mx9 est utilisé ici pour maximiser la compression.

Je crée un BAT BAT DOS pour exécuter le VDiskAir.exe auto-extractible (environ 5 Mo) créé, enregistrez-le sous VDiskAir.bat contenant:

VDiskAir.exe -o%TMP% -y

%TMP%\VDiskAir\VDisk_Air.exe

Je ne crains pas que le dossier VDiskAir (dans% TMP% extrait avec les fichiers du programme VDiskAir) soit restauré après avoir exécuté VDiskAir de cette façon, car j'ai un script BAT pour effacer% TMP% à l'arrêt/au démarrage.

1
Hon Kong

Voici ce que j'utilise pour le produit Autodesk:

Start /W %~dp0AutoCAD_2018_French_LP_Win_64bit_dlm.sfx.exe -suppresslaunch -d C:\Autodesk
0