Ответ 1
Первое, что вы всегда хотели бы найти при поиске причины сбоя программного обеспечения, - это поиск источника сообщения об ошибке. Вы делаете это с помощью с использованием Google в начале. Второй хит (прямо сейчас) является золотым, кто-то декомпилировал исполняемые файлы Windows и разместил эту конкретную строку в качестве идентификатора ресурса # 10209 в файле с именем zipfldr.dll
с уведомлением об авторском праве Microsoft.
Это отличное совпадение, zipfldr.dll - это расширение пространства имен оболочки, которое Windows использует для отображения содержимого .zip файла, как будто это папка. Вы можете увидеть его в Regedit.exe, перейдите к HKEY_CLASSES_ROOT\CLSID\ {E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}
для первичной регистрации. Раздел реестра HKEY_CLASSES_ROOT\SystemFileAssociations\ .zip\CLSID
связывает его с .zip файлом.
Таким образом, у вас есть жесткий факт, на самом деле это расширение Explorer, которое падает. Чрезвычайно мало что можно сделать по этому поводу. Остается только сомневаться, что это может быть используемая вами библиотека Zip, которая искажает содержимое натянутых файлов и, следовательно, приводит к падению расширения. Это значительно сократилось, если более чем одна библиотека отключила эту ошибку, вероятность того, что и Ionic, и Dotnetzip имеет ту же ошибку, довольно низкая. Не нуль, программисты, как правило, имеют "как они это делают" заглядывают в другой код программиста для вдохновения. Тот факт, что эта ошибка является ложной, помещает гвоздь в гроб, вы ожидаете, что плохой архив zip-архива будет неоднократно прерывать ошибку.
Возможно, вы сможете перепрофилировать основную проблему, вы сделали бы это с помощью SysInternals Process Monitor. Вы увидите файлы для чтения и записи Explorer. Возможно, в каталоге TEMP я предполагаю, что вы получите такую ошибку, если в этом каталоге уже существует .zip файл. TEMP - очень грязная папка на большинстве машин, слишком много программ не очищаются должным образом после себя. В том числе zip-библиотеки, привлекательная теория, не подкрепленная доказательством:)
Если это не закончится, то окончательным откатом является Microsoft. У них есть номер телефона 1-800, где вы можете получить поддержку в проблемах с их продуктами. Я использовал его несколько раз, они всегда решали мою проблему и возвращали авансовый взнос. Это проблема Windows, но продукт, в котором есть миллиард пользователей. Вы, в лучшем случае, получите обходное решение, реальное программное исправление крайне маловероятно. Не совсем невозможно, это было сделано. Но очень высокие шансы, что их рекомендуемое решение - "использовать стороннюю утилиту, такую как Winzip". Не то, что вы хотите услышать.