Установка Internet Explorer не закончена

Метки:  , , ,

На тему установки новых версий браузера Internet Explorer, и возникающих по этому случаю ошибок, в Сети уже опубликовано достаточно большое количество разнообразного материала. Лишний раз комментировать глобальные причины возникновения подобных ситуаций как-то не очень хочется, а то и так градус обсуждения порой слишком уж завышен, да и споры на предмет архитектуры того или иного системного компонента Windows не являются темой данной заметки, и без того некоторые специалисты, я думаю, уже имели достаточно времени сделать собственные выводы. Сегодня же мы поговорим о группе проблем, которые заключаются в следующем: на протяжении существования Windows 7 и выхода 9, 10, 11 версий браузера Internet Explorer (IE9, IE10, IE11), при попытке обновления браузера на более свежую (позднюю, последнюю) версию, иногда возникают не совсем понятные ошибки, одним из случаев которых является возникновение ошибки Установка Internet Explorer не закончена:

При этом, подобные ошибки, как и большинство у Microsoft, являются "универсальными", то есть имеют несколько (иногда даже существенное количество) вероятных причин.

Эпитет "универсальный" применительно к ошибкам в продуктах Microsoft не имеет положительного контекста, а указывает на следующее: мы объединили приблизительно 20 примерно однородных ошибок под кат "Установка Internet Explorer не закончена", потому что код уже настолько запутан, что мы не может однозначно классифицировать ошибку для пользователя, либо нам просто некогда заниматься облегчением участи технических специалистов, работающих с продуктами Microsoft :)

Само окно с ошибкой несколько варьирует свой внешний вид: меняется поясняющий текст в нижней части окна уведомления, который располагается непосредственно за (под) основной фразой Установка Internet Explorer не закончена. При некоторых вариантах ошибки в окне присутствует ссылка на страницу "Устранение неполадок Internet Explorer", которая ведет на инструкцию с описанием необходимых предустановок, которые требуется произвести в системе для успешной работы инсталлятора IE, то есть все то, что установщик пытается сделать автоматически, и что у него время от времени не получается в этом самом автоматическом режиме сделать. В некоторых случаях предустановки помогают решить проблему, но чаще встречаются ситуации, когда Вы выполняете все необходимые рекомендации, кропотливо устанавливая обновление за обновлением из списка вручную, а установка все так же продолжает завершаться с ошибкой! Как оказалось, помимо отсутствия предустановок, причина появления ошибки "Установка Internet Explorer не закончена" кроется в старых пакетах, относящихся к браузеру. Когда Вы пытаетесь установить свежую версию IE, в процессе установки в хранилище пакетов/обновлений обнаруживаются старые версии инсталлируемых пакетов, которые по каким-то (пока еще не выясненным) причинам не могут быть удалены/обновлены самим инсталлятором, что приводит к прекращению работы установщика IE с вышеописанной ошибкой. Естественно что подобное положение вещей оставляет много вопросов по системе пакетов в Windows.
Изучение причин инцидента в подобных случаях надо начинать с чтения лог-файла инсталляции браузера Internet Explorer. Данный log-файл располагается по пути %SystemRoot%\IEXX_main.log, где XX - номер версии устанавливаемого Internet Explorer. Вот типичное содержимое лог-файла IE11_main.log, содержащее в себе о ходе процесса инсталляции и возникших в процессе ошибках:

В журнале мы можем наблюдать ошибку DISM, которая имеет идентификатор 0x00003715 (14101) и поясняющий текст "The identities of the manifests are identical but their contents are different". Возникает резонный вопрос, почему манифесты тождественны, но их содержимое разное и что это означает? Упоминание манифестов явно связывает проблему с системными пакетами в хранилище, вероятно ошибка связана с каким-либо пакетом, устанавливаемым основным инсталлятором. Вторая ошибка уже относится непосредственно к Internet Explorer и является одной из самых распространенных ошибок инсталляции IE. Она имеет код 0x00009C59 (40025) и возвращается непосредственно самим инсталлятором IE (iesetup.exe) в качестве реакции на первую ошибку.

Решение 1: установка необходимых обновлений

Все приведенные ниже во всех типах решений команды рекомендуется запускать из-под учетной записи с правами локального администратора системы.

Пожалуй самое простое из предлагаемых решений, оно далеко не всегда результативно, но с него определенно всегда стоит начинать процесс устранения проблемы. К примеру, у браузера Internet Explorer версии 11 есть определенные требования к обновлениям, которые должны быть установлены ДО установки непосредственно самого браузера. Данные обновления фигурируют во многих источниках, в том числе и в документе под названием Обязательные обновления для Internet Explorer 11 ,открываемом при переходе по ссылке в документе Устранение неполадок Internet Explorer 11. На всякий случай привожу их здесь в виде таблицы. Вот список обновлений для 32/64-разрядной Windows 7, необходимых для установки браузера IE11:

Наименование Для x32 версии Для x64 версии
KB2834140 с сайта Microsoft с сайта Microsoft
KB2670838 с сайта Microsoft с сайта Microsoft
KB2639308 с сайта Microsoft с сайта Microsoft
KB2533623 с сайта Microsoft с сайта Microsoft
KB2731771 с сайта Microsoft с сайта Microsoft
KB2786081 с сайта Microsoft с сайта Microsoft
KB2888049 с сайта Microsoft с сайта Microsoft
KB2882822 с сайта Microsoft с сайта Microsoft
KB2729094 с сайта Microsoft с сайта Microsoft
Если после установки всех требуемых предварительных обновлений, установщик IE все-равно ругается на необходимость их установки, то уже установленные (вышеперечисленные) обновления можно попробовать удалить вручную, а затем установить заново.

Проблему требований к предустановленным обновлениям призван решить так называемый онлайновый инсталлятор IE (IE online web installer), который в своё время был доступен для скачивания с сайта Microsoft, однако потом куда-то оттуда подевался.

Решение 2: удаление всех пакетов IE

Запускаем командную строку cmd, поскольку все команды будем инициировать уже в консоли. Сначала неплохо было бы получить список всех установленных в системе пакетов. Для этого выполним следующую команду:

dism.exe /Online /Get-Packages > 1.txt

Приведенная команда генерирует список всех установленных в системе пакетов и сохраняет его в файл 1.txt в каталоге, который был текущим в момент запуска утилиты dism. Обычно это корневая директория профиля пользователя, доступная через переменную %USERPROFILE%. Затем открываем блокнотом полученный выходной файл и ищем в нем абсолютно все пакеты, которые в своем имени содержат слова IE или InternetExplorer. Подчеркиваю, что ищем мы абсолютно все пакеты, относящиеся к IE, даже те, которые имеют тип "Языковой пакет" (Language Pack). В моем случае поиск нашел 3 файла:

Таким образом, именно в моем случае я нашел пакеты с именами:
Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~en-US~8.0.7601.17514
Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~ru-RU~8.0.7601.17514
Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~8.0.7601.17514

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

dism.exe /Online /Remove-Package /PackageName:Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~en-US~8.0.7601.17514

где вместо имени (после параметра /PackageName:) подставляете актуальное для вашей системы наименование пакета. Процедура удаления выглядит следующим образом:

Аналогичным образом мы проходимся по всему списку и удаляем все необходимые пакеты.

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

После перезагрузки скачиваем из Сети автономный (независимый, полный) инсталлятор IE, внимательно выбирая на странице скачивания подходящую именно для Вашей системы версию. Например для IE11 полный инсталлятор можно сказать вот по этой ссылке: Полный оффлайновый инсталлятор IE11. Запускаем в командной строке скачанный .exe-файл с опцией /update-no, в моем случае это выглядит вот так:

IE11-Windows6.1-x64-ru-ru.exe /update-no

Решение 3: удаление проблемных пакетов по журналу CBS

Начиная с Windows Vista, все ошибки установки абсолютно любых системных пакетов/компонентов должны отражаться в журнале компонентной модели (Component Based Servicing, CBS), находящемся по пути %WinDir%\Logs\CBS\CBS.log. Очевидно, что установка Internet Explorer не исключение из этого правила. Поэтому, после возникновения каких-либо ошибок обновления Internet Explorer, открываем файл CBS.log и ищем следующие строки, содержащие фразы InternetExplorer либо IE совместно с ошибочным статусом (например, Failed).
Пример1:

Пример2:

Копируем имена проблемных пакетов (все пакеты, имена которых присутствуют в качестве основного пакета (владельца) для всех ошибочных пакетов/компонентов) из файла CBS.log, затем каждый из них вручную удаляем уже знакомой нам командой:

dism.exe /Online /Remove-Package /PackageName:Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~8.0.7601.17514

,где вместо имени (после параметра /PackageName:) не забывайте подставлять актуальное именно для вашей системы наименование пакета.

Решение 4: удаление всех пакетов IE (старый способ)

Когда ни один из вышеописанных методов не помогает, устранить ошибку Установка Internet Explorer не закончена, можно попробовать при помощи метода, заключающегося в удалении вообще всех пакетов, относящихся к установленной в системе в данный момент версии браузера Internet Explorer. Читатель может резонно заметить, что мы тоже самое уже проделывали в методе, описанном выше? А существенное отличие заключается в том, что в данном случае мы будет выполнять удаление при помощи старого пакетного менеджера под названием Диспетчер пакетов Windows (Package Manager, pkgmgr). Этот пакетный менеджер появился в Windows Vista, затем в Windows 7 функционировал вместе с DISM, а начиная с Windows 8 его, похоже, вообще убрали. Вообще ситуация с существованием в системе двух пакетных менеджеров характерна, похоже, только лишь для Windows 7. Судя по всему, DISM и pkgmgr в Windows 7 представляют собой разные исполняемые файлы (разный код), при том что Pkgmgr вызывает для некоторых своих задач DISM, таким образом менеджеры разные и проводя аналогию с подобными менеджерами в других системах, можно предположить, что они имеют единую базу пакетов, но при этом (возможно) разный алгоритм работы. Зная функциональные особенности продуктов Microsoft, понимаешь, что в ряде случаев эта разница может нам сильно помочь, однако надо учитывать, что это самый проблемный способ удаления пакетов IE, потому как зачастую приводит к необходимости дополнительной (ручной) работы по устранению возникающих в процессе удаления ошибок доступа к различным частям файловой системы/реестра. Но, не смотря на всю неоднозначность, в ряде случаев это единственный действенный метод привести систему к готовности к установке свежей версии Internet Explorer. Итак, для удаления всех пакетов IE выполним следующую команду с правами локального администратора:

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-IE*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /quiet /norestart"

затем

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /quiet /norestart"

Приведенная серия команд удаляет из системы абсолютно все пакеты всех версий браузера Internet Explorer.

удаление пакетов IE

В связи с ошибками обновлений Internet Explorer, в Сети встречается множество рекомендаций по удалению версий IE-пакетов ниже, чем устанавливаемая, так вот, поскольку данная серия команд работает по маске, она более универсальна и удаляет ВСЕ пакеты, относящиеся к браузеру. На ошибки доступа к определенным частям реестра можно не обращаться внимания. После завершения выполнения команды перезагрузить систему и попробовать запустить инсталлятор браузера Internet Explorer заново.

  • Поделиться:

19 комментариев:

  1. Бобёр

    Не совсем в тему, но может подскажите как, возможна ли установка и использование IE10 (или9) под Win10?

    Обычными средствами это сделать не получилось..

    Спасибо.

    • einaare

      что говорит при установке?

      • Бобёр

        Или что "не предназначено для этой версии виндовс" или что уже установлено, тогда как реально стоит 11, пробовал удалять 11 и отключать в компонентах windows, результат тот же, не предназначено. .

        • einaare

          какая разрядность нужна и язык?

          • Бобёр

            Проблема не в разрядности, а именно в винде, если я правильно понял.

            Я пробовал на х64

            • einaare

              ну понятно что не в разрядности :) я спрашиваю какая версия нужна? :) x64 русская? короче посмотрю, ждите.

              • Бобёр

                Да, х64
                Благодарю...

                • einaare

                  В общем, попробовал установить IE10 на Win10. Вот что получилось, удалось подавить ошибки 9C4D (another version of Internet Explorer 10 os already installed) и 9C48 (A more recent version of Internet Explorer is installed), далее нарвался на WinVerifyTrust, The file is not digitally signed. С подавлением этой ошибки наткнулся на проблему распаковки IE10-neutral.Extracted.cab из ресурсной сессии iesetup.exe. Сессии с идентификатором 7005 не существует, вероятно этот .cab файл должен подтягиваться из Инета. Ок, файл достал, распаковал, положил во временную директорию, попробовал обработать его при помощи DISM. И вот следующая проблема: ошибка 775 (ERROR NOT CAPABLE, Реализация не способна выполнить запрос), намекает нам на то, что концептуально этот .cab не встанет в систему. Для обхода ошибки DISM придется серьезно разобрать исходник. Поэтому, вероятно установка IE10 на Win10 и возможна, однако время, затраченное на решение задачи не оправдывает цели. :) Если уж так необходимо, может раздобыть где-нибудь портабельную версию IE10 и её попробовать?

  2. Бобёр

    Понял, спасибо.

    А не подскажите, где это портабельную. версию раздобыть или как её сделать?

  3. Денис

    Спасибо за подробное изложение и отличное оформление.

    • einaare

      Спасибо на добром слове! Вы конкретно об оформлении данной статьи или о дизайне в целом? Дизайн то можно и получше было сделать :)))) да как-то лениво, если честно!

  4. Сергей

    Удаляю все пакеты от IE11.
    Устанавливаю из автономного установщика. А дальше в логе такая ошибка:

    00:14.437: INFO: The neutral pack was successfully downloaded from the internet. Installation will continue using the downloaded package.
    00:14.484: INFO: Waiting for 0 language pack downloads.
    00:14.500: INFO: Language pack downloads completed. (exit code = 0xffffffff (4294967295)).
    00:14.562: INFO: No reboot logic message NrApiStart(0), lParam=0x004b2758 returned 0x00000000.
    00:15.234: INFO: No reboot logic message NrApiScan(1), lParam=0x00000001 returned 0x00000000.
    00:15.266: INFO: No reboot logic message NrApiStartInstall(4), lParam=0x00000001 returned 0x00000014.
    00:15.281: INFO: Installing with the downloaded package. C:\Windows\TEMP\IE18A64.tmp\IE11-neutral.Downloaded.cab
    00:15.297: INFO: Launched package installation: C:\Windows\SysNative\dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE18A64.tmp\IE11-neutral.Downloaded.cab /quiet /norestart
    00:55.516: INFO: Process exit code 0x00003712 (14098) [The component store has been corrupted. ]
    00:55.687: ERROR: Neutral package installation failed (exit code = 0x00003712 (14098)).

    И установка не завершена. Может кто знает, что с этим делать ?

    • einaare

      DISM /Online /Cleanup-Image /ScanHealth

      • Сергей

        Пробовал. Не помогает. Остается та же ошибка.

      • Сергей

        Причем такая же ошибка выдается на таких вот командах: (пробовал удалить пакеты от IE9)

        dism.exe /Online /Remove-Package /PackageName:Microsoft-Windows-InternetExplorer-LanguagePack~31bf3856ad364e35~amd64~ru-RU~9.4.8112.16421
        dism.exe /Online /Remove-Package /PackageName:Microsoft-Windows-InternetExplorer-Package-TopLevel~31bf3856ad364e35~amd64~~9.4.8112.16421

        Ну и, естественно, пакеты эти не удаляются. Думаю, что проблема в них. Но почему они не лечатся ?
        Кста, нашел их в винде и просто удалил ручками. Тогда установка IE11 заканчивается с ошибкой, что компонент не найден. В системе остается IE9 и нормально так работает.
        Что тут еще можно придумать ?

        • einaare

          ось чистая или уже рабочая? что установлено? что пишет, когда делаете восстановление? возможно компоненты кто-то блокирует.. возможно вернуться на исходную, восстановив пакеты?

  5. APTEM

    Спасибо огромное дружище за труды!!!
    Помогло: "Решение 1: установка необходимых обновлений"

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *