Problème compression

DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013 - 26 juin 2013 à 15:42
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 29 juin 2013 à 15:25
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

Utilisateur anonyme
26 juin 2013 à 19:39
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.
0
DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013
26 juin 2013 à 23:51
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 .
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
29 juin 2013 à 15:25
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
0
Rejoignez-nous