Задать вопрос

Ошибка Windows Installer. Как исправить?

Здравствуйте. Сегодня хочу поднять тему, которая успела наболеть. Не знаю, как вы, а я в последнее время по работе довольно часто сталкиваюсь с проблемами установщика Windows – ошибками msi. Причем, данный вопрос бывает актуальным как для старой доброй Windows XP, так и для относительно «свежих» Windows 7 и Windows 8. Давайте разберем этот вопрос подробно, так как тема очень серьезная и если проблема возникла один раз, то поверьте, жизнь она вам осложнит – однозначно.

Что же это за файлы такие, имеющие расширение msi?

Этот файл установочного пакета, с помощью которого инсталлируется программное обеспечение, и который использует службу установщика Windows. Свое название расширение msi взяло от «Microsoft Installer», как раньше называлась версия установщика Windows. Такой файл содержит в себе полный сценарий установки программного продукта, вспомогательные компоненты, библиотеки и, в большинстве случаев, все установочные файлы, сжатые в cab-архивы. Можно долго обсуждать все достоинства и недостатки в работе Windows Installer, но придется все же принять его «как есть», а на некоторые неполадки в работе будем грамотно и адекватно реагировать. Ошибки могут возникать как в работе службы, так и по причине самих msi файлов.

Вот, что иногда случается: Error 1305: Error reading from file и далее система предлагает мне убедиться, а действительно ли был файл установщика, который я запускал. Поначалу звучит как минимум странно. Но, читая дальше послание системы, понимаю, что мне предлагают убедиться не только в наличии самого файла, но и в моих правах на доступ к нему. Как оказалось, это не я, а Windows Installer был обделен доступом к файлу, отсюда и проблема.

Error 1305: Error reading from fileРазрешается этот вопрос вовсе не сложным способом. Давайте для начала убедимся, есть ли у системы к файлу полный доступ, для чего в «Свойствах» файла зайдем на вкладку «Безопасность» и найдем пользователя «System (Система)».

БезопасностьБолее чем уверен, что там вы его не обнаружите, так что добавляем сами – жмем на «Изменить», потом на «Добавить» и вписываем имя: «Система» (или же System, в случае англоязычной версии системы),

Система

после чего жмем на «Проверить имена» (строчка становится подчеркнутой).
Подтверждаем – ОК и ставим отметку в чекбоксе «Полный доступ», опять подтверждаем.

Жмем на «Дополнительно», далее – «Изменить разрешения» – «Добавить разрешения», наследуемые от родительских объектов и все подтверждаем трижды.
Таким образом, от этой ошибки установщика мы избавились, и больше она нас не побеспокоит в процессе установки. Хотя более разумно и предусмотрительно было бы добавить права полного доступа системы на всю папку с содержимым, из которой по обыкновению происходит инсталлирование программного обеспечения (как в моем случае папка «Install»).

Если на вашем компьютере имеется операционная система Windows ХР, а в «Свойствах папки» включен «простой общий доступ к файлам», вы не увидите вкладку «Безопасность» в свойствах файла. В таком случае вам следует зайти в «Свойства папки» и снять отметку в чекбоксе «Использовать простой общий доступ к файлам». Также этой вкладки вы рискуете не обнаружить в разных «сборках» и «облегченных версиях» как Windows XP, так и Windows 7. Чтобы таки зайти на эту вкладку, придется загрузиться в Safe mode (Безопасном режиме) и войти под учетной записью администратора.

Еще проблему с Windows Installer можно избежать, запуская установку приложений с отключенной программой-антивирусом, с правами администратора, а также в режиме совместимости (вкладка «Совместимость» в свойствах msi-файла, ставим галочку в соответствующем чекбоксе).

СовместимостьТакже проблемы могут быть при попытке установить программу со съемного носителя, флешки, например (запрет на такие действия можно сделать в настройках операционной системы) – просто скопируйте установочный файл в удобное место на жестком диске. Еще вариант решения проблемы – создайте новую папку под любым понравившимся именем и скопируйте в нее установочный пакет, оттуда и запускайте установку – бывает полезным при ошибках номер 1603, 214 728 7035, 2203 и 1723.

Обязательно убедитесь в наличии доступа системы к каталогам временных файлов. Откройте «Свойства системы» (Win+Pause или в контекстном меню по правому клику мышкой на иконке Мой компьютер выберите строку Свойства), в «Дополнительных параметрах системы»,

Дополнительных параметрах системына вкладке «Дополнительно» щелкните по кнопке «Переменные среды».

Переменные средыНаходим папки временных переменных (они в своих названиях имеют слова TEMP, TMP), проверим, есть ли к ним доступ у системы (по уже описанному выше алгоритму). Надеюсь, вы помните, чтобы узнать адрес такой папки, необходимо сделать двойной клик по переменной

двойной клик по переменнойи, скопировав указанный путь, вставить содержимое буфера обмена в строку проводника и сделать переход к папке. А заодно можете сделать и полезное дело – очистить все временные папки от их содержимого.

проводникТакже будет верным решением проверить на наличие прав доступа те директории, в которые планируется инсталлировать приложения и каталог с именем Config.Msi в корне системного раздела. Для всех обозначенных выше каталогов должно быть отключено шифрование, т. к. Windows Installer в таком случае не имеет к ним доступа, в отличие от пользователя.

Ну, и естественно, ошибка установки может происходить по причине нарушенного установочного файла (т. н. «битый» файл, с несовпадением контрольных сумм), в такой ситуации необходимо разжиться заведомо «рабочим» нормальным установочным файлом. Скорее всего, будет иметь смысл скачать его из другого источника или по другому зеркалу.

Причина ошибки установщика Windows

Теперь стоит рассмотреть ситуацию, когда установка приложения невозможна по причине ошибок в самом Windows Installer’e. Если процесс установки не начинается, какое бы приложение вы не пытались инсталлировать, то скорее всего проблема в самой службе установщика. Могут появляться системные сообщения об ошибках, в которых присутствуют соответствующие фразы, наподобие: Ошибка пакета установщика или Windows Installer Error. Причиной тому могут быть как ошибки в системном реестре, так и вирусная атака. Начнем с проверки состояния службы Windows Installer и типа ее запуска. С этой целью мы в строке Выполнить (Win+R) вводим команду services.msc, a в открывшейся консоли находим искомый пункт – «Установщик Windows (Windows Installer)».

Установщик Windows Смотрим, работает ли она и какой у нее Тип запуска (должен быть задан Вручную) Если же служба не работает и имеет другой тип запуска, то запускаем (нажимаем «Запустить», можно – «Перезапустить») ее, а в свойствах изменяем тип запуска на «Вручную». В случае запуска службы проверим ситуацию и введем в строке «Выполнить» команду msiexec – если все ОК, то вместо ошибки вы увидите окно с параметрами запуска установщика Windows и номером его версии.

Дальнейшее устранение проблемы я вижу в исправлении поврежденных системных файлов операционной системы. Чтобы реализовать это, в строке «Выполнить» исполним команду sfc/scannow (заблаговременно подготовьте диск, с которого устанавливалась ваша операционная система, он может быть востребован в этом процессе) и после перезагружаем компьютер. Проблема по идее должна исчезнуть.

Также данная проблема поднимается на сайте Microsoft с вариантом решения. Пройдите по этой ссылке и запустите «родную» утилиту FixIt. Следуйте указаниям в сопровождении, это должно помочь в устранении проблемы.

Еще одним из вариантов устранения этой напасти может быть попытка восстановления параметров реестра для установщика Windows, при которых все нормально работает. Запустите файл редактора реестра из вот этого архива и подтвердите импорт новых настроек (не забудьте перед изменением параметров в реестре создать точку восстановления, чтобы иметь возможность отката к предыдущему состоянию системы).

В случае, если на вашем компьютере установлены такие ОС, как Windows Server 2000, Windows XP попробуйте инсталлировать свежую версию Windows Installer. В случае, если проблема остается, можно заново перерегистрировать компоненты. Выполняем команду cmd и в черном окне сначала вводим команду: msiexec/unregister, а затем: msiexec/unregister. Для большей уверенности можно еще ввести regsvr32 msi.dll, после чего черное окно можно закрыть.

Как вариант, можете на своем компьютере запустить «батник» msi_error.bat из вот этого архива, очень многим помогло исправить подобную ситуацию. Также неплохо было бы обновить пакет «.NET Framework» на свежий, т. к. большое количество приложений использует его в своей работе.

В заключение хочу согласиться с тем, как бывает сложно устранить проблемы с Windows Installer. У самого бывали ситуации, когда испробовав практически все доступные методы уже был готов снести Windows, чтобы переустановить по новой. Порой это единственное решение, стоит признать. Но никогда не торопитесь, ведь не все так плохо и существуют многие форумы – настоящие кладези знаний. Пообщайтесь, почитайте, поспрашивайте – очень многие проблемы именно так нашли свое решение!
Удачи вам, не отчаивайтесь и подписывайтесь на мои обновления!

Это может пригодиться:
Комментарии: 3 Оставить комментарий
Ответить
Валерия 26.03.2015 в 16:20 (10 лет назад)

Нередко сталкивалась с тем, что описывается в статье. Спасибо за подробную инструкцию, как нужно действовать

Ответить
Denis 15.06.2017 в 16:27 (7 лет назад)

Дважды одну и туже команду выполнять? А смысл?
Выполняем команду cmd и в черном окне сначала вводим команду: msiexec/unregister, а затем: msiexec/unregister.

Ответить
Anatole 26.08.2019 в 14:58 (5 лет назад)

во втором случае следует писать msiexec/register

Добавить комментарий

Новые комментарии