Почему не устанавливаются программы из файлов.msi? Не работает windows installer. Ошибка Windows Installer — Способы решения неполадки Как установить msi файл на windows 10

Довольно распространённая проблема среди пользователей операционной системы Windows любых версий – ошибка msi при установке программ из файла с расширением.msi. В этой статье я опишу часто встречаемые проблемы с установщиком Windows 7/10/XP и варианты их решения, а также сделаю видео по текущему вопросу.

Файлы с расширением.msi это обычные пакеты установки (дистрибутивы) из которых ставится программа. В отличии от обычных «setup.exe», для запуска файла msi система использует службу Windows Installer (процесс msiexec.exe). Говоря простыми словами, установщик Windows разархивирует и запускает файлы из дистрибутива. Когда Windows Installer не работает, то появляются различные ошибки.

Вообще, меня это жутко бесит, т.к. после глупого сообщения об ошибке совсем непонятно что делать дальше. Microsoft специально разработали установщик Windows Installer для расширения возможностей установки программ (в основном это касается системных администраторов), но не позаботились должным образом о безглючной работе этой службы или хотя бы об адекватных сообщениях о проблемах. А нам теперь это разгребать 🙂

Неполадки могут быть с работой самой службы или могут возникать в процессе установки программ, когда всё настроено, в принципе, правильно. В первом случае нужно ковырять службу установщика, а во втором решать проблему с конкретным файлом. Рассмотрим оба варианта, но сначала второй.

Ошибки msi файлов

Очень часто ошибки появляются из-за недостаточных прав системы на файлы или папки. Нельзя сказать, что Windows Installer не работает, в этом случае достаточно просто добавить нужные права и всё заработает. Буквально вчера я столкнулся с тем, что скаченный дистрибутив.msi не захотел устанавливаться, при этом успешно запускается мастер установки, выбираются параметры, но затем система думает несколько секунд и выдаёт ошибку:

«Error reading from file «имя файла» verify that the file exists and that you can access it» (Error 1305). Переводится «Ошибка чтения из файла … проверьте существует ли файл и имеете ли вы к нему доступ». Ну не тупняк ли? Естественно, что кнопка «Повторить» не помогает, а отмена прекращает всю установку. Сообщение особой смысловой нагрузки также не несёт, т.к. файл точно существует и я имею к нему доступ, иначе бы просто не смог его запустить и получить это сообщение, к тому же почему-то на английском языке 🙂

А ошибка в том, что не Я должен иметь доступ к файлу, а установщик Windows, точнее сама Система. Решается очень просто:

Теперь ошибка установщика не появится! Можно добавить доступ на всю папку, из которой вы обычно инсталлируете программы, например на папку «Downloads», как у меня. Смотрим видео по решению проблем с правами доступа:

В Windows XP вкладки «Безопасность» не будет, если включён простой общий доступ к файлам. Чтобы его выключить, нужно зайти в «Пуск -> Панель управления -> Свойства папки -> Вид» и выключить опцию «Использовать простой общий доступ к файлам». В урезанных версиях Windows 7/10 и XP вкладки «Безопасность» нет в принципе. Чтобы её увидеть, нужно и зайти в неё под администратором.

Ещё способы решить проблему


Описанный метод поможет при разных сообщениях, с разными номерами. Например, вы можете видеть такие ошибки файлов msi:

  • Error 1723
  • Internal Error 2203
  • Системная ошибка 2147287035
  • Ошибка «Невозможно открыть этот установочный пакет»
  • Ошибка 1603: Во время установки произошла неустранимая ошибка

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

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

Если служба Windows Installer всё равно не хочет работать, то проверьте права на папку «C:\Config.Msi» , сюда «система» также должна иметь полный доступ. В этом случае вы могли наблюдать ошибку «Error 1310». На всякий случай убедитесь, что к папке КУДА вы инсталлируете софт также есть все права.

Параметры реестра и службы

Следующий способ устранения ошибки – восстановление рабочих параметров в реестре установщика Windows Installer.

Для этого скачайте архив и запустите оттуда два reg-файла, соответственно своей версии Windows. Согласитесь с импортом настроек.

Важно! Перед последним действием желательно ! Если способ не поможет или станет хуже, вы сможете восстановиться до прежнего состояния.

В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5.

Если не помогло, то проделайте ещё перерегистрацию компонентов:

  1. Нажмите «Win + R» и введите «cmd». Затем в чёрном окне введите последовательно команды:
    MSIExec /unregister
    MSIExec /regserver
  2. В ответ должна быть пустота, никаких ошибок. Если проблема не решена, введите ещё команду
    regsvr32 msi.dll
  3. Закройте чёрное окно

Если пишет, что не хватает прав, то нужно запускать .

Если команды выполнились, но не помогло, то и запустите msi_error.bat из архива, проверьте результат.

Последний вариант — скачайте программу Kerish Doctor, там есть функция исправления работы службы установщика и многих других частых проблем Windows.

Также, многие программы используют.NET Framework, поэтому не будет лишним установить последнюю версию этого пакета. И, напоследок, ещё один совет: если в пути к файлу-дистрибутиву есть хоть одна папка с пробелом в начале названия, то удалите пробел. Такой простой приём решит вашу проблему 🙂

Подведение итогов

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

Введение

Наши инсталляторы для Windows содержат полный пакет установки клиентской части программы (MSI) (собранный на основе Windows Installer v2.0). Инструкции по сетевой установке предполагают, что пользователь знаком с основами Windows Installer, в частности, с развертыванием MSI файлов. Этот пакет может использоваться с любой операционной системой Windows, поддерживающей Windows Installer v2.0.

Установка на сервер сети

  1. Сделайте двойной щелчок на полученном файле (Yenka_Setup_(MSI).exe )
  2. Инсталлируйте этот пакет в папку общего доступа к вашим программам.
  3. Внимание : Программа должна быть активирована ДО развертывания пакета в сети. Для этого запустите "Yenka.exe" из папки, в которую вы установили программу (<путь установки>\program files\Yenka\Software\Yenka.exe), и следуйте Инструкциям по активации .

Установка

Установка пакета MSI при помощи командной строки

  1. В поле команд введите строку:
    msiexec /i"<путь к MSI файлу> \YK.msi "
    где: <путь к MSI файлу> это путь к файлу пакета Windows Installer. Например, строка может выглядеть так: msiexec /i"C:\Program Files\Yenka\YK.msi"
  2. Нажмите клавишу ENTER
    Внимание: Сервис Windows Installer повзоляет провести установку в "незаметном" режиме, с использованием ключа "/q". Например: msiexec /i"C:\Program Files\Yenka\YK.msi" /q . Чтобы показать индикатор процесса установки, вы можете использовать ключ "/qb ".

Удаление пакета MSI при помощи командной строки

  1. В меню "Пуск" выберите команду "Выполнить..."
  2. В поле команд введите строку:
    msiexec /x"<путь к MSI файлу>\YK.msi"
    где: <путь к MSI файлу> это путь к файлу пакета Windows Installer
  3. Нажмите клавишу ENTER

Ошибка windows installer – это одна из самых распространенных всплывающих неполадок, с которой сталкиваются пользователи операционной системы Windows.

Ошибка может появляться независимо от версии вашей ОС.

Причины появления ошибки

Выполнить сканирование ОС можно с помощью команды Sfc /scannow. Вводить ее нужно в окно командной строки.

Запустить командную строку можно также еще двумя способами:

  • Пуск -> Все программы -> Стандартные -> Командная строка.
  • Пуск -> Выполнить и введите имя программы cmd.exe

Через несколько минут вам будет предоставлена детальная информация о дисках ОС , испорченных файлах, неполадках в работе служб и других системных программ.

Командная строка не только найдет испорченные и повреждённые файл, но и заменит их на работоспособные.

После сканирования закройте командную строку и перезагрузите ваш персональный компьютер или ноутбук. Попробуйте запустить процесс установки любого исполняемого файла.

Также компания Майкрософт предлагает пользователям автоматическую утилиту, которая способна решить проблему работы инсталлера.

Перейдите по веб-адресу официального сайта компании https://support.microsoft.com/ru-ru/mats/program_install_and_uninstall

В открывшемся окне нажмите на клавишу «Запустить сейчас». Утилита восстановит правильную конфигурацию инсталлера.

Стоит заметить, что утилита не работает с восьмой версией операционной системы.

Настройка доступа установщика к файлам msi

Неполадка при установке может быть вызвана тем, что installer не имеет доступа к файлам формата msi. Пользователь может разрешить эту проблему самостоятельно.

Следуйте нижеприведенной инструкции:

  • Найдите ваш установочный файл и нажмите на нем правой кнопкой мышки;
  • Выберите окно свойств;
  • Перейдите на вкладку настройки безопасности;
  • В текстовом поле групп или пользователей проверьте, есть ли пользователь с именем «система». Если его нет, необходимо добавить юзера вручную;

  • Для добавления нового пользователя нажмите на кнопку Изменить и затем на кнопку Добавить;
  • В текстовом поле имен выбираемого объекта напишите слово «система» (без кавычек). Если вы используете английскую версию операционной системы, введите слово System;
  • Введённое слово должно мгновенно стать подчеркнутым, как показано на рисунке ниже;

  • Поставьте галочку напротив поля полного доступа и теперь нажмите на кнопку ОК;

Теперь установщик сможет получить доступ к исполняемому файлу. Установка должна быть завершена без проблем.

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

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

Ошибка Windows Installer - Способы решения неполадки

Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.

Введение, пара ссылок и дисклеймер

Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, - установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.

Интересный цикл статей по установке ПО через ГП . Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».

Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая - чтобы получившийся msi-ник смог установиться через групповые политики.

Метод не претендует на полную уникальность и в некоторых местах могут встречаться излишества, которых можно было бы избежать, но это связанно отсутствием желания и необходимости слишком глубоко вникать в параметры таблиц msi-пакетов. Первоначальной целью ставилось быстро найти бесплатный способ создания msi и после нескольких часов, проведенных в чтении зарубежных форумов и бесконечных перезагрузках виртуальной машины, метод был найден. Также, статья - это не обзор интерфейса программ, и скриншотов вы не увидите.

Создание и подготовка пакета

Пример установки будет произведен для Mozilla Firefox, т. к. это широко известный продукт, не имеющий msi-инсталлятора от разработчиков.
  1. Запускаем exe to msi и указываем в нем путь к exe-установщику firefox. По ранее найденной в сети информации становится понятно, что по-тихому установить огнелиса можно с параметрами -ms -ira . Их-то и указываем во втором поле exe to msi и жмем «Build MSI».
  2. Казалось бы все, msi-пакет готов. Действительно, запустив получившийся результат мы получим установленный в системе firefox и в статье можно было бы ставить точку. К сожалению, не все так просто. Текущий пакет установки не пригоден для развертывания через GPO и при загрузке компьютера вы будете получать совершенно ничего не объясняющие ошибки в логах «произошла неисправимая ошибка...» А все дело в том, что разработчики exe to msi тоже хотят есть и их бесплатный продукт генерирует msi «не по правилам».
  3. Ну что ж, берем орку и открываем в ней наш эмсиайник.
  4. Первым делом находим в левом списке таблицу Property и обращаем внимания на два поля - ProductCode и UpgradeCode . Эти два поля должны быть уникальны для каждого продукта, а наш exe to msi генерит всегда одинаковые. Ну что ж, не беда, жмем в верхнем меню View -> Summary Information , находим поле PackageCode и жмем New GUID . Получившийся результат копируем в буфер обмена и вставляем в ProductCode . Повторяем для UpgradeCode и наконец для самого PackageCode . Тут же в Summary Information правим поле Title на Mozilla Firefox, остальное по желанию. Это, по сути, ни на что не влияет.
  5. Опять же в таблице Property меням ProductName на Mozilla Firefox (я до кучи меняю еще ARPCONTACT и Manufacturer ). Можно так же поставить правильное значение для ProductVersion .
  6. Вроде бы GUID и прочие «IDы» поменяли, но как показывает практика, этого недостаточно. Жмите в orca Tools –> Validate , снимите птицу Show INFO Messages и нажимайте Go .
  7. Как видите, вылезла куча ошибок на наличие/отсутствие некоторых таблиц и значений. Я не стал заморачиваться и просто взял первый попавшийся (7zip x64 9.20) небольшой msi и скопировал оттуда 4 недостающие таблицы (через Export-Import, естественно): _Validation, AdminExecuteSequence, AdminUISequence и AdvtExecuteSequence . На самом деле, я уверен, что можно создать «правильный» msi-инсталлятор, без лишнего мусора, но не забывайте, наша цель всего лишь запустить родной setup приложения в тихую.
  8. После добавления таблиц проходим снова Tools –> Validate (к слову, первый раз проверку можно вообще не делать и сразу импортировать таблицы). Если вы тоже взяли за основу msi от 7zip, то результатом будет шесть эрроров, которые необходимо устранить. Жмите Close , удаляйте лишние поля, отмеченные красным.
  9. В конце можно еще раз проверить валидацию и убедиться что остались лишь ничем не мешающие варнинги. Сохраняем msi.
  10. Вот в принципе и все, осталось добавить msi в ГП и назначить необходимые свойства.

Нюансы

  1. При установке описанным выше методом у вас появятся как бы две копии софта. Первая - собственно нужное приложение, а вторая - исходный msi-ник, ведь мы же его как бы поставили. В принципе, это ни на что не влияет, кроме как на отображение в «Установка и удаление программ», и то, только в Windows XP (если вы ничего не меняли, кроме указанного мной). Минусом может быть появление лишних программ при автоматической инвентаризации софта, если вы ее используете.
  2. Автоматически удалить приложение теми же средствами развертывания не получится. Точнее получится, но удалится только и так не нужный msi-контейнер. Ну можно повозиться со свойствами msi при его создании, чтобы оно захватывало с собой установленное ранее приложение, так же втихую. Я такой задачи не ставил.
  3. При установке обновлений ПО нужно указывать в свойствах ГП приложения, чтобы оно заменяло предыдущее, т.е обязательно предварительно удаляло старое. Это гарантирует, что у вас не будут плодиться те самые никому не сдавшиеся левые дубли приложений в «установке и удалении программ».
  4. Чтобы установить приложение, имеющее дистрибутив из нескольких файлов, вам придется сначала упаковать его в exe, который при запуске сам распакуется и даст команду для тихой установки. Рекомендую создавать sfx-архивы средствами того же 7-zip.
  5. Ничего не мешает ставить ПО через скрипты автозагрузки. Более того, такой метод более гибкий, и я давно его использую через свои скрипты. Вот только использование родных средств ГП получается намного быстрее, т. к. простое создание msi из exe занимает пару минут.
  6. Windows 7 почему-то не пишет «Установка управляемого приложения...», а просто говорит «пожалуйста, подождите». При первом развертывании всей кучи софта разом или при установке тяжелого приложения это может сподвигнуть юзера на звонок админу или нажатие кнопки резет.
На этом вроде бы все, надеюсь было интересно, делитесь опытом.