Problème compression

Signaler
Messages postés
42
Date d'inscription
samedi 26 mai 2012
Statut
Membre
Dernière intervention
25 décembre 2013
-
Messages postés
14827
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
23 octobre 2021
-
Bonjour a tous et a toutes , je dévelloppe une application destiné a minecraft , qui sert a installer un skins en version cracké , donc en gros le programme décompresse le fichier .jar , remplace le fichier skin.png , et le re-compresse en .jar , tout marche sauf que quand je décompresse le fichier .jar obtenu via le programme , j'ouvre le dossier et dans ce dossier il y a d'abord un dossier minecraft , puis après ce dossier il y a tout les fichier , le problème est normalement il y a un seul dossier puis les fichiers sinon quand on ouvre le launcher de minecraft ça ne marche pas , voici le code :

 Public Sub compression(ByVal DirectoryToZip As String, ByVal TheZipFile As String)

        Dim i As Integer ' index des fichiers de filestozip()
        Dim mylength As Integer ' longueur fichier

        ' recupère le nom complet de tous les fichiers dans filestozip()
        Dim filestozip() As String = Directory.GetFiles(DirectoryToZip, "*.*", SearchOption.AllDirectories)

        ' mydirname : nom de la directory a compresser
        Dim mydirname As String = New DirectoryInfo(DirectoryToZip).Name

        ' on cree la sortie zip
        Dim ZipStream As ZipOutputStream = New ZipOutputStream(File.Create(TheZipFile))

        ' on fait le boulot pour touss les fichiers
        For i = 0 To UBound(filestozip)

            ' on ouvre le fichier en lecture
            Dim fs As FileStream = File.OpenRead(filestozip(i))
            mylength = fs.Length

            ' Tableau de byte, de la taille du fichier à lire
            Dim buffer As Byte() = New Byte(mylength) {}

            ' Lecture du fichier dans buffer puis fermeture
            fs.Read(buffer, 0, mylength)
            fs.Close()

            ' definition de l'entrée dans le zip
            Dim entry As ZipEntry = New ZipEntry(mydirname & filestozip(i).Replace(DirectoryToZip, ""))

            ' On ajoute la nouvelle entrée
            ZipStream.PutNextEntry(entry)

            ' On crée la nouvelle entrée dans l'archive
            ZipStream.Write(buffer, 0, mylength)

        Next

        'On ferme le flux
        ZipStream.Finish()
        ZipStream.Close()
        MsgBox("Skin installé !")

    End Sub

3 réponses


Bonjour,

Le règlementdit :


On ne pose pas de question en rapport avec virus, crack, hack, trojan etc... ainsi que TOUS sujets comportant ou faisant référence directement ou indirectement à la religion, la politique ou le sexe.
Messages postés
42
Date d'inscription
samedi 26 mai 2012
Statut
Membre
Dernière intervention
25 décembre 2013

Bon ok je disais "pour version crackée" mais dans les deux cas même si j'avais dis "pour version minecraft payante" c'est le même fonctionnement , merci quand même , si quelqu'un peut m'aider , merci .
Cordialement .
Messages postés
14827
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
23 octobre 2021
157
Bonjour,

Il faut un zip avec des options spéciales, donc, il faut modifier le zip/jar, mais pas le recréer.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site