Обещанный баг в 7z (?) хотя он не совсем баг и не совсем в 7zip

Aug 25, 2012 17:47

Обещал здесь пост на тему, чтож не будем тянуть кота за яйца.

Ситуация простая до невозможности - имеем Windows Vista/Windows 7 (на Windows XP, емнип, проблема не проявляется, но могу ошибаться) с установленным архиватором 7zip. И присылают нам допустим почтой архив с картинками (стандартный способ тучу файлов превратить в 1, особо продвинутые ещё и отрубают сжатие в случае уже сжатых картинок, но на воспроизводимость "бага" это никак не влияет). Пользователь сохраняет архив, открывает двойным кликом, а затем двойным кликом открывает одну из картинок. Если используется стандартный просмотрщик графических файлов из Windows Vista/Windows 7, то пользователь получает такую картинку:


и начинает ебать мозг доставать техподдержку/админа. Если погуглить "бага" давно известная, приводится несколько "рецептов" по её лечению:

1. Заменить стандартный просмотрщик изображений на сторонний.
2. Отобрать права на удаление в папке %TEMP% у пользователя и периодически просто грохать %TEMP% скриптом по планировщику
3. Научить пользователя "правильной" работе с архивами - явное извлечение файлов надёжнее, безопаснее, удобнее (можно например зайти в папку с картинками и быстро найти нужную по превью). Кроме того бывали забавные ситуации когда у пользователя рабочий файл какой-либо программы лежал в %TEMP% и при закрытии программы-редактора конечно же удалялся вместе со всеми изменениями... Потому я за запрет бездумного двойного клика при работе с аттачами в почтовых клиентах/файлами в архивах - только явное сохранение, каким бы неудобным оно не было.
4. Отказаться от 7zip, купить WinRAR у которого такой проблемы нет. Именно этот аргумент - "а у меня дома WinRAR (что в 99% случаев пиратский - это уже детали) и там всё работает, а у вас не работает 7zip, вы не его не настроили" чаще всего и приводится юзером. Помнится я даже решил постебаться и сказал что не знаю где в 7zip это поведение настраивать, покажи, раз такой грамотный, а я "не настроил". В ответ конечно было мычание в стиле - ну ты же админ, ты обязан знать.
5. ....

Если немного подумать мозгами - проблема возникает из-за того, что архиватор считает что извлеченный файл никому не нужен и прибивает его. Т.е. встроенный просмотрщик "не держит" файл (или не успевает "подхватить"). Сторонние просмотрщики этим свойством не обладают, потому с ними всё нормально. А WinRAR, похоже, просто не спешит с убиением временного файла. Что касаемо "кто виноват и что делать" - вариантов немного. Т.к. у встроенного просмотрщика закрытый код, то его логику работы мы не поправим. А у 7zip код открыт, потому есть шансы воткнуть туда костыль-подпорку, чтобы например не удалял временные файлы по списку расширений до самого закрытия программы. Ибо пользовательские привычки - страшная вещь. Вот такая вот бага/фича.

UPD: Всё же с просмотрщиком, точнее с его механизмом запуска они перемудрили, вот подтверждение: http://support.microsoft.com/kb/980393

UPD2: Ещё странности просмотрищика, которые by design.

7zip, bug, gluck, adm, windows

Previous post Next post
Up