Créer une archive zip auto-extractible sur une boîte Linux
-
03-07-2019 - |
Question
En raison d'un certain nombre de contraintes que je ne rencontrerai pas, je dois créer une archive ZIP à extraction automatique sur une boîte Linux. L'archive résultante doit être exécutable sous Windows uniquement. Est-ce possible? Si oui, quels outils feraient le travail?
Contexte: lorsque l’utilisateur télécharge un paquet d’installation depuis ma boîte Linux, j’ai besoin que ce paquet d’installation soit pré-rempli avec une certaine clé. Je ne connais que cette clé au moment de l'exécution; Mon idée était d'écrire un simple fichier .xml avec cette clé, puis de compresser le fichier d'installation .msi avec ce fichier xml dans une archive auto-extractible, puis d'envoyer ce fichier au navigateur. Si vous avez d'autres idées pour y arriver, j'aimerais aussi les entendre
La solution
Vous trouverez votre réponse à la page suivante: http://ubuntuforums.org/showthread. php? t = 847329 Veuillez noter que je ne prends pas le crédit d’autre chose que d’utiliser Google et de trouver quelque chose qui sonne logiquement comme si cela fonctionnerait. Je ne garantis pas que ces informations fonctionneront ou que vous pourrez plus trouver les documents mentionnés en ligne. Je ne suis qu'un fan de Google. J'espère que cela aide.
Le problème Il y a quelques jours, j'ai dû créer un compatible Win32 fichier ZIP auto-extractible pour un ami. Cela semble facile, non. Le problème était que je n'avais pas de machine Windows à proximité et je ne voulais pas installer tout programme d'archivage sous Wine.
REMARQUE: un programme ZIP gratuit tel que IZArc sous Wine peut être utilisé pour créer un fichier ZIP auto-extractible Win32 aussi. Cela ne sera pas couvert par cette howto, désolé.
Le " recherche " Googling autour j'ai trouvé ce forum post daté d'août 2003. En le lisant j'ai découvert que les fichiers ZIP auto-extractibles ne sont rien plus mais un binaire approprié unzip suivi d'un fichier ZIP normal. j'ai utilisé le fichier unzipsfx.exe inclus dans Info-ZIP Décompressez 5.52.
Le lien sur ce post a fonctionné quelques il y a quelques jours alors j'ai eu la main sur la unzipsfx.exe que je cherchais. Aujourd'hui 2 juillet 2008, j'ai trouvé le lien. morte. Après avoir googlé je n'ai pas trouver un lien de travail n'importe où. J'ai lu la licence à quelques reprises et compris que je puisse redistribuer l'original unzipsfx.exe avec une licence incluse.
Veuillez noter que le unzipsfx-552_win32.tar.gz (80 ko) est pas un paquet officiel Info-ZIP et il comprend un logiciel protégé par le droit d'auteur Je ne prends aucun crédit pour. Plus d'infos dans le Licence Info-ZIP également incluse dans le tarball. Le code source de les binaires inclus peuvent être trouvés ici.
La solution
Première étape, obtenir le fichier unzipsfx.exe et forfait zip: * ouvrez le terminal (dans Ubuntu, appuyez sur alt + f2 et tapez gnome-terminal) * tapez les commandes suivantes Code:
wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx -552_win32.tar.gz tar zxf unzipsfx-552_win32.tar.gz sudo apt-get install zip
Deuxième étape, créer un fichier ZIP dans Ubuntu: * ouvrez le gestionnaire de fichiers (nautilus) et sélectionnez les fichiers que vous voulez avoir zippé * Faites un clic droit et sélectionnez Créer une archive (ou similaire). Sélectionner un emplacement du fichier ZIP, en utilisant votre répertoire de base est le plus facile. Sélectionner tapez .zip. Voir l'homme zip pour plus d'informations comment créer un fichier ZIP en commande ligne.
Troisième étape, créer le fichier ZIP auto-extractible * tapez les commandes suivantes Code:
cat unzipsfx-552_win32 / unzipsfx.exe MYZIPFILE.zip > mysfxfile.exe zip -A mysfxfile.exe
mysfxfile.exe peut maintenant être ouvert dans n’importe quel Système compatible Win32 (y compris pour exemple Windows XP / 2000 / Vista et même Wine sous Linux) ou TOUT COMPATIBLE ZIP programme d'archive tel que file-roller Ubuntu.
Autres conseils
J'ai réussi à faire fonctionner cela avec unzipsfx. Une version plus récente est disponible - elle vient de paraître en avril 2009 - version 6.0. La version 5.52 ne prenait pas en charge la fonctionnalité essentielle dont j'avais besoin, à savoir le lancement d'un fichier d'installation particulier une fois l'extraction terminée.
J'ai donc téléchargé les fichiers source pour 6.0. Je les ai ensuite modifiées pour exclure l'invite " de lancement de contenu " vérifiez qu'il est là par défaut. Je me suis recompilé en utilisant Visual Studio 2008, j'ai essayé les étapes décrites dans le tutoriel ci-dessus et tout fonctionne comme un charme maintenant.