Прежде чем приступать к описанным способам исправить ошибку unarc.dll, рекомендую выполнить два действия: отключить антивирус (включая защитник Windows) и фильтр SmartScreen , после чего попробовать установку игры или программы заново — чаще всего эти простые действия помогают. Информация по исправлению похожей ошибки: ISDone.dll Не найдено ни одного файла, указанного для ISArcExtract .
Ищем причину проблемы
Итак, при попытке распаковать архив или установить игру с установщиком Inno Setup, Вы столкнулись с примерно такой ситуацией:
- ISDone.dll Произошла ошибка при распаковке: Архив поврежден!
- Unarc.dll вернул код ошибки: -7 (код ошибки может быть другой)
- ERROR: archive data corrupted (decompression fails)
Вариант, который проще всего предположить и проверить — битый архив.
Проверяем следующим образом:
- Скачиваем из другого источника, в свойствах загруженного файла на вкладке Общие, где указано, что файл получен из Интернета, нажимаем кнопку Разблокировать, пробуем установить. Если ошибка unarc.dll повторилась, то:
- Несем на флешке к другому компьютеру, пробуем распаковать там. Если все происходит нормально, дело не в архиве.
Еще одна из вероятных причин возникновения ошибки — проблемы с архиватором. Попробуйте переустановить его. Либо воспользоваться другим: если до этого использовали WinRAR, то попробуйте, например, 7zip.
Проверьте наличие русских букв в пути к папке с unarc.dll и не только
Если в путях к файлам содержатся русские символы, то это может приводить к появлению ошибок unarc.dll и ISDone.dll. О каких путях идет речь:
- Путь к папке с установщиком и имя файла установщика.
- Путь к папке с временными файлами (а этот путь зависит от имени папки пользователя — если она на русском, может появиться проблема). В этом случае рекомендую не переименовывать папку пользователя (не у всех проходит гладко), а создать нового локального пользователя с именем на латинице и выполнить установку, зайдя под этим пользователем (скорее всего, установленная игра будет доступна и под старым пользователем).
- Путь к папке, в которую производится установка.
- Иногда помогает перенос файла установщика в корень не системного диска.
Еще один вариант исправить ошибку
Если не помогло, то идем дальше. Вариант, многими используемый, но мало кому помогающий:
- Скачиваем отдельно библиотеку unarc.dll
- Кладем в System32, в 64-разрядной системе также кладем и в SysWOW64
- В командной строке вводим regsvr32 unarc.dll, нажимаем Enter и перезагружаем компьютер
Снова пробуем распаковать файл или установить игру.
При условии, что на данном этапе ничто не помогло, а также для вас не представляет переустановить Windows, Вы можете это сделать. Но учтите, что чаще всего это не решает проблему. На одном из форумов человек пишет о том, что четырежды переустанавливал Windows, ошибка unarc.dll так и не исчезла… Интересно, зачем четыре раза?
Если все перепробовали, а ошибка ISDone.dll или unarc.dll осталась
А теперь переходим к наиболее печальному, но при этом очень частому случаю, из-за которого возникает эта ошибка — проблемы с оперативной памятью компьютера. Вы можете воспользоваться диагностическими утилитами для тестирования RAM, а можете также, при условии, что у Вас два и более модулей памяти, вытаскивать их поочередно, включать компьютер, загружать архив и пробовать распаковать. Получилось — значит проблема в том из модулей, который был вытащен, а если снова возникла ошибка unarc.dll — переходим к следующей плате.
И еще, совсем редкая ситуация, с которой однажды пришлось столкнуться: человек скидывал архивы себе на флешку, а они у него не распаковывались. В данном случае проблема была именно во флешке — так что если Вы приносите какие-то файлы извне, не загружая их напрямую из интернета, то вполне возможно, что unarc.dll возникает из-за проблемного носителя.