J'ai déjà utilisé Chilkat Zip .Net pour générer des fichiers de sauvegarde à partir de mon application, mais après avoir eu des problèmes avec le composant, déplacé vers Xceed Zip .Net pour la même fonction.Correction d'en-têtes de fichier ZIP corrompu
Si vous prenez l'un des Zips générés avec le Chilkat et tentez d'extraire en utilisant Xceed, 7Zip, WinZip alors il échoue.
Si vous prenez le même fichier et extrayez avec Chilkat, Windows Zip, WinRar puis les extraits de fichier très bien. Ayant lu Wikipedia sur le format WinZip, j'ai étudié le répertoire central et l'en-tête du fichier local, et il semble que le composant Chilkat ait écrit incorrectement la taille de l'enregistrement du répertoire central. Si vous utilisez quelque chose comme FRHed pour éditer l'enregistrement central et que la taille du fichier est identique à la taille de l'en-tête local, tout est extrait correctement.
Que me recommanderiez-vous?
- Ecrire un petit utilitaire en utilisant la bibliothèque Chilkat pour extraire le Zip puis recompresser avec la Bibliothèque Xceed
- Lire le fichier Zip à la recherche pour les marqueurs Zip nécessaires (tel que défini dans les spécifications), puis corriger la centrale Entête.
- Autre combinaison.
Merci. Ce que j'ai fini par faire est ce que vous avez écrit, je viens de décompresser les anciens fichiers de sauvegarde, puis les recompresser MAIS seulement si le fichier lui-même présentait l'erreur dans l'enregistrement. J'ai fait une petite application qui est livrée en tant que module de support à notre application de sorte que l'ancienne bibliothèque était là pour être utilisée. –