web-dev-qa-db-fra.com

Comment créer un programme d'installation auto-extractible et en cours d'exécution

Donc, actuellement, mes utilisateurs téléchargent un fichier zip, le décompressent puis exécutent setup.exe - je voudrais qu'ils le fassent en un clic. En utilisant http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables je peux créer un fichier exe à extraction automatique, mais il ne lance pas le programme d'installation.

De cette question

Pourquoi 7Zip ignore-t-il mon chemin InstallPath lors de la création d'un programme d'installation SFX?

il semble que j’ai également besoin d’un fichier .sfx; j’ai donc copié l’autre question et en ai créé une avec le contenu suivant

;!@Install@!UTF-8!
InstallPath="C:\\test"
GUIMode="2"
RunProgram="setup.exe"
;!@InstallEnd@!

et appelé setup.sfx et l'ajouter aux archives avec les autres fichiers

setup.ini
setup.exe
setup.ico
install.jar
JVM32 (folder)

mais cela ne faisait aucune différence, que dois-je faire d'autre?.

Question supplémentaire, j'ai aussi WinRar, est-ce que cela affecte l'expérience de l'utilisateur final si j'utilise 7Zip ou Winrar?

41
Paul Taylor

Ok, je le fais fonctionner, espérons que cette information est utile.

  1. Tout d'abord, je réalise maintenant que non seulement l'extraction automatique de Zip à extraction automatique commence par un double-clic, mais que l'application d'extraction ne nécessite aucune installation d'extraction sur l'ordinateur de l'utilisateur, car le code de l'extracteur se trouve dans l'archive elle-même. Cela signifie que vous obtiendrez une expérience utilisateur différente en fonction de l'application que vous utilisez pour créer le fichier sfx

  2. Je suis allé avec WinRar comme suit, cela ne vous oblige pas à créer un fichier sfx, tout peut être créé via le gui:

    • Sélectionnez les fichiers, faites un clic droit et sélectionnez Ajouter à l'archive
    • Utilisez Parcourir .. pour créer l’archive dans le dossier ci-dessus
    • Changer le format d'archive en Zip
    • Activer Créer une archive SFX
    • Sélectionnez l'onglet Avancé
    • Sélectionnez les options SFX
    • Sélectionnez l'onglet Configuration
    • Entrez setup.exe dans le champ Exécuter après l'extraction
    • Sélectionnez l'onglet Modes
    • Activer décompresser dans un dossier temporaire
    • Sélectionner le texte et l'onglet Icône
    • Entrez un titre plus approprié pour votre tâche
    • Sélectionnez OK
    • Sélectionnez OK

L’exe résultant se décompresse dans un dossier temporaire, puis lance le programme d’installation.

27
Paul Taylor

J'ai créé des instructions pas à pas sur la façon de procéder, car j'étais également très confus quant à la manière de faire fonctionner cela.

Comment faire une archive auto-extractible qui exécute votre setup.exe avec le commutateur 7Zip -sfx

Voici les étapes.

Étape 1 - Configurez votre dossier d'installation

Pour rendre cela facile, créez un dossier c:\Install. C'est ici que nous allons copier tous les fichiers requis.

Étape 2 - 7Zip vos installateurs

  1. Allez dans le dossier qui a votre .msi et votre setup.exe
  2. Sélectionnez les fichiers .msi et setup.exe
  3. Faites un clic droit et choisissez 7Zip -> "Ajouter aux archives"
  4. Nommez votre archive "Installer.7z" (ou un nom de votre choix)
  5. Cliquez sur OK
  6. Vous devriez maintenant avoir "Installer.7z".
  7. Copiez ce fichier .7z dans votre répertoire c:\Install

Étape 3 - Obtenir le module d’extension 7z-Extra sfx

Vous devez télécharger 7zSD.sfx

  1. Téléchargez l’un des packages LZMA à partir de ici
  2. Extrayez le paquet et trouvez 7zSD.sfx dans le dossier bin.
  3. Copiez le fichier "7zSD.sfx" dans c:\Install

Étape 4 - Configurez votre fichier config.txt

Je vous recommande d'utiliser NotePad ++ pour éditer ce fichier texte car vous devrez encoder en UTF-8. Les instructions suivantes utilisent notepad ++.

  1. À l'aide de Windows Explorer, allez à c:\Install
  2. faites un clic droit et choisissez "Nouveau fichier texte" et nommez-le config.txt
  3. faites un clic droit et choisissez "Modifier avec le Bloc-notes ++
  4. Cliquez sur le "Menu Encodage" et choisissez "Encoder en UTF-8".
  5. Entrez quelque chose comme ceci:

    ;!@Install@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;!@InstallEnd@!
    

Modifiez cette version en remplaçant [SOFTWARE v1.0.0.0] par votre nom de produit. Les notes sur les paramètres et les options du fichier d’installation sont ici

Point de contrôle

Vous devriez maintenant avoir un dossier "c:\Install" avec les 3 fichiers suivants:

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

Étape 5 - Créer l'archive

Ces instructions que j’ai trouvées sur le Web mais n’ont explicité nulle part les 4 étapes ci-dessus.

  1. Ouvrez une fenêtre de commande, Fenêtre + R -> cmd -> appuyez sur Entrée.
  2. Dans la fenêtre de commande, tapez ce qui suit

    cd \
    cd Install
    copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
    
  3. Regardez dans c:\Install et vous verrez maintenant que vous avez un MyInstaller.exe

    Vous avez terminé

Lancer l'installateur

Double-cliquez sur MyInstaller.exe et l'invite s'affichera avec votre message. Cliquez sur OK et le fichier setup.exe s'exécutera.

P.S. Note sur l'automatisation

Maintenant que cela fonctionne dans votre répertoire c:\Install, je créerais un fichier "Install.bat" et y placerais le script de copie.

copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe

Vous pouvez maintenant éditer et exécuter le fichier Install.bat chaque fois que vous avez besoin de reconstruire une nouvelle version de votre package de déploiement.

96
jcrawfor74

C'est simple avec l'open source 7Zip SFX-Packager - moyen facile de simplement "glisser-déposer" des dossiers dessus, et il crée un paquet portable/auto-extractible.

1
T.Todua