Categories: Windows 7

Запуск службы Windows Installer в безопасном режиме

Безопасный режим (Safe Mode) в системах Windows является одним из базовых инструментов, позволяющих восстановить работоспособность системы. Одним из существенных недостатков безопасного режима – невозможность установки / деинсталляции программ из msi-пакетов. Это ограничение вызвано тем, что разработчики посчитали службу Windows Installer (установщик Window) потенциально небезопасной, и решили отменить старт этой службы при загрузке системы в безопасном режиме. Что в некоторых случаях крайне неудобно.

Большинство современных приложений для свой корректной установки / удаления пользуются услугами службы Windows Installer, и если она недоступна, их установка или удаление невозможно. Допустим, что для восстановления работоспособности системы, необходимо в безопасном режиме удалить некое приложение, мешающее нормальной загрузке системы (например, антивирус). При попытке запустить стандартный деинсталятор с целью удалить приложение, система сообщает:

The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personal for assistance

Вручную запустить службу Windows Installer в Safe Mode также не получится (Services -> Windows Installer -> Start):

Windows could not start the Windows Installer service on Local Computer. Error 1084: This service cannot be started in Safe Mode

Однако существует небольшой трюк, позволяющий запустить службу Windows Installer в безопасном режиме и корректно деинсталлировать ПО.

Чтобы включить службу Windows installer в Safe Mode:

  1. Откройте редактор реестра и перейдите в раздел HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootMinimal (если система запущена в обычном Safe Mode) или раздел HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootNetwork (если используется безопасный режим с поддержкой командной строки)
  2. Создайте новый раздел с именем MSIServer
  3. В новом разделе автоматически появится новый параметр с именем Default. Задайте ему значение Service .
    Примечание : эти операции можно заменить одной командой:
    REG ADD "HKLMSYSTEMCurrentControlSetControlSafeBootMinimalMSIServer" /VE /T REG_SZ /F /D "Service"

  4. Теперь службу Windows Installer можно запустить через панель управления службами (Services) или из командной строки:
    net start msiserver

После запуска службы MSIServer возможно непосредственно в безопасном режиме удалять/устанавливать любое приложение с msi-установщиком.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

2 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

2 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

2 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

2 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

2 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

2 недели ago