Как избавиться от зависимости внутренних веб-систем от режима IE
· Го Комура · Режим IE, Edge, WebView2, Windows, Модернизация, Использование существующих активов
Эта статья в двух словах
«Безопасно эксплуатировать режим IE как официально управляемый режим, постепенно сокращая зависимость, и в итоге свести использование режима IE к нулю» — вот реалистичная стратегия. Прежде чем выбрасывать, для начала научитесь этим управлять.
Контекст: до какого момента можно использовать режим IE
| Пункт | Срок |
|---|---|
| Десктопное приложение IE11 | Уже снято с эксплуатации |
| Режим IE в Edge | Как минимум до 2029 года (уведомление за год до прекращения) |
| Обновления Edge / WebView2 Runtime (Win10 22H2) | Как минимум до октября 2028 года |
Важно держать в голове: то, что режимом IE можно пользоваться до 2029 года, не означает, что можно спокойно оставить всё как есть. Этот период — исключительно «окно для планового выхода», и единственный способ не оказаться в панике накануне 2029 года — начать готовиться уже сейчас.
Почему не получается избавиться от зависимости от режима IE
Режим IE — это механизм внутри Edge на базе Chromium, отрисовывающий только устаревшие сайты движком Trident (MSHTML). Этот движок Trident берёт на себя следующее:
- устаревшие режимы документа (Document Mode)
- элементы управления ActiveX / BHO (Browser Helper Object)
- устаревшие настройки зон безопасности
- параметры совместимости Enterprise Mode
Пока сохраняется зависимость от всего этого, простое обновление браузера проблему не решает. Первый шаг — понять истинную природу зависимости.
Частые проблемы на практике
- Ошибка настройки режима документа → искажённая вёрстка, ошибки скриптов
- Пропущенная настройка нейтральных сайтов → циклы повторной аутентификации или циклы перенаправления при SSO (единый вход)
- Несоответствие формата Enterprise Mode Site List → для интеграции с режимом IE не поддерживается schema v.1, требуется переход на schema v.2
- Edge обрабатывает только один список сайтов → политика на стороне Edge имеет приоритет над политикой на стороне IE
Классификация зависимости: сначала определите, «от чего именно» вы зависите
| Тип зависимости | Содержание | Примеры |
|---|---|---|
| Режим документа | Рендеринг устаревшего HTML/CSS/JavaScript | Указание режимов IE5, IE7, IE8 |
| ActiveX / BHO | Нативная функциональность через расширения браузера | Управление печатью, работа с файлами, взаимодействие с оборудованием |
| Аутентификация / SSO | Интегрированная аутентификация Windows, клиентские сертификаты | NTLM, Kerberos, клиентские сертификаты |
| Интеграция на стороне клиента | Взаимодействие с ОС и локальными ресурсами | Доступ к файловой системе, вызовы COM |
| Устаревшие рабочие практики | Рабочие процессы, рассчитанные на конкретный браузер | Регламенты, требующие «открывать только в IE» |
Шаг 1. Продление жизни — сначала безопасная эксплуатация
1. Наладить полноценное управление списком сайтов (самое важное)
Оставлять «перезагрузку в режиме IE» на усмотрение пользователей — опасно. Управляйте этим официально, через политику.
| Способ управления | Особенности |
|---|---|
| Cloud Site List Management (рекомендуется) | Из центра администрирования Microsoft 365 можно распространять несколько списков, вести историю изменений, назначать по группам и собирать обратную связь |
| Локальный XML-список сайтов | Просто, но по умолчанию это временная мера на 30 дней. Начиная с Edge 142 точка входа для ручной перезагрузки в режиме IE может быть по умолчанию скрыта — такие машины стоит рассматривать отдельно от управляемых политикой |
Что нужно сделать: перейти на Cloud Site List Management и централизованно управлять тем, кто, какие сайты и до какого срока использует в режиме IE.
2. Закрепить настройки аутентификации
Когда задействован SSO, аутентификация часто ломается при переходах между режимом IE и режимом Edge.
- Корректно настроить нейтральные сайты (Neutral Site) → явно указать серверы SSO
- При необходимости настроить совместное использование cookie
- Пока сервер аутентификации точно определить не удаётся, временно использовать политику «сохранять навигацию внутри страницы в режиме IE» (но отключить её, как только вопрос будет решён)
3. Освоить диагностические инструменты
Судить нужно не «на глаз», а по наблюдаемым данным.
| Инструмент | Назначение |
|---|---|
edge://compat/iediagnostic |
Диагностика конфигурации режима IE (режимы документа, статус применения списка сайтов и т. д.) |
edge://net-export |
Сбор сетевых логов (полезно для выявления причин циклов SSO) |
| Enterprise Site Discovery | Инвентаризация сайтов, которым действительно нужен режим IE |
4. То, что никак не удаётся исправить, — «изолировать»
| Метод | Подходит / не подходит |
|---|---|
| AVD / RemoteApp (рекомендуется) | Позволяет изолировать в среде режима IE только конкретную задачу. В многосеансовом режиме есть ограничения по производительности A/V |
| Контейнеры Windows (не рекомендуется) | Не подходят как место продления жизни GUI-браузера. Рассчитаны на серверные сценарии |
Шаг 2. Стратегии выхода — как сокращать зависимость
Сравнительная таблица паттернов
| Паттерн | Подходящая ситуация | Преимущества | Что учитывать | Ориентировочные трудозатраты |
|---|---|---|---|---|
| Продолжение эксплуатации в режиме IE | Зависимость ограничена, в приоритете — не допустить простоя | Быстрее всего достичь стабильности | Технический долг откладывается | 1-3 человеко-месяца |
| WebView2-обёртка | Нужно сохранить лишь часть интеграции с ОС или вызовов COM | Позволяет избежать сплошной переписи | Ошибка в проектировании границ удваивает долг | 3-8 человеко-месяцев |
| Поэтапный рефакторинг ★ | Можно выделять по экранам / функциям | Легко распределить риск | Эксплуатационная нагрузка в период сосуществования старого и нового | 6-18 человеко-месяцев |
| Микрофронтенды | Несколько команд хотят разрабатывать параллельно | Возможен независимый деплой | Сложно проектировать интеграцию | 9-24 человеко-месяца |
| Полная переработка | Глубокая зависимость от ActiveX/BHO/режима документа | Наименьшая стоимость в долгосрочной перспективе | Большие первоначальные затраты и нагрузка на проверку | 12-36 человеко-месяцев |
| Изоляция через VDI / RemoteApp | Быстро исправить не получается, но использование обязательно должно продолжаться | Позволяет избежать остановки бизнес-процесса | Не устраняет причину. Риск стать постоянным решением | 2-6 человеко-месяцев |
★ — практический первый выбор.
Где применим каждый из паттернов
Поэтапный рефакторинг — наиболее реалистичный вариант.
- Нет необходимости переделывать всё разом
- Можно модернизировать экраны и функции по одному
- В период сосуществования старого и нового важно «проектирование маршрутов» (какой экран работает на каком движке)
WebView2-обёртка используется для того, чтобы заново провести границу.
- Не для того, чтобы сохранить зависимость от ActiveX или COM как есть
- Обязанности уровня ОС — «работа с файлами», «взаимодействие с оборудованием», «аутентификация Windows» — переносятся на нативную сторону, а веб-интерфейс модернизируется
- Однако стоит учитывать, что появляется ответственность за распространение WebView2 Runtime
Микрофронтенды эффективны только тогда, когда «границы команд» совпадают с «границами деплоя». Их не стоит внедрять только потому, что это модно.
Полная переработка — крайняя мера. Она нужна лишь в случаях, когда зависимость от ActiveX или BHO настолько глубока, что разложить систему на части действительно невозможно.
Шаг 3. Конкретный порядок действий (дорожная карта)
Оценка → расстановка приоритетов → PoC → тестирование → развёртывание → эксплуатация
1. Оценка — инвентаризация зависимости
- Составить список целевых URL с помощью Enterprise Site Discovery
- Визуализировать сетевые переходы с помощью
edge://net-export - Классифицировать зависимость на «режим документа», «ActiveX/BHO», «аутентификация», «клиентские сертификаты», «файлы/печать», «оборудование/COM»
2. Расстановка приоритетов — с чего начать
Отсортируйте по следующим критериям:
- важность (по степени критичности простоя)
- число пользователей
- уровень подверженности рискам безопасности
- влияние на другие системы
- простота выделения (насколько чётко определены границы)
Особенно полезно заранее разделить «функции, которые продвигаются вперёд после проведения границы» и «функции, требующие переноса вместе с границей» — это существенно упрощает дальнейшее планирование.
3. PoC (концептуальное доказательство) — попробовать на малом масштабе
Первую цель выбирайте из категории «высокая бизнес-ценность, умеренная зависимость» — один рабочий процесс.
Критериев успеха четыре:
- Режим IE больше не нужен
- SSO сохраняется
- Производительность отклика сопоставима с исходной
- Возможен откат (возврат к исходному состоянию)
4. Тестирование — учесть сосуществование старого и нового
- Современный путь → автоматическое тестирование Edge с помощью Playwright
- Путь через режим IE → диагностическая страница + ручная проверка
- В период сосуществования старого и нового нужно явно фиксировать, какой маршрут работает на каком движке (без этого воспроизвести дефект крайне сложно)
5. Развёртывание — расширять постепенно
- Canary-распространение (раннее развёртывание для части пользователей)
- Обеспечить окно проверки с помощью Extended Stable (8-недельный цикл)
- Встроить в рабочий процесс интервалы обновления списка сайтов и требования к перезапуску браузера
- При использовании облачного списка сайтов не забывайте, что предпосылкой становится вход в Edge
6. Эксплуатация — продолжать сокращение
- Использовать функцию обратной связи Cloud Site List Management, чтобы выявлять сайты, добавленные пользователями, и ошибки конфигурации
- Поддерживать рабочий цикл, при котором список для режима IE сокращается ежемесячно
- «Меры продления жизни» всегда должны сопровождаться «эксплуатацией на сокращение»
Общая схема (блок-схема)
flowchart TD
A[Инвентаризация целевых активов] --> B[Классификация зависимости]
B --> C{Какой тип зависимости?}
C -->|В основном режим документа и SSO| D[Официальная эксплуатация в режиме IE]
C -->|В основном интеграция с ОС и COM| E[Переход на обёртку]
C -->|Можно выделить по экранам| F[Поэтапный рефакторинг]
C -->|Параллельная разработка нескольких команд| G[Микрофронтенды]
C -->|Зависимость слишком глубока| H[Полная переработка]
D --> I[Настройка нейтральных сайтов и cookie]
E --> J[Граница WebView2/нативный код]
F --> K[Сосуществование старого и нового, поэтапная замена]
G --> K
H --> L[Перепроектирование под новую архитектуру]
I --> M[PoC]
J --> M
K --> M
L --> M
M --> N[Автоматическое и эксплуатационное тестирование]
N --> O[Поэтапное развёртывание]
O --> P[Сбор данных об использовании и обратной связи]
P --> Q[Сокращение списка для режима IE]
Q --> R[Решение о прекращении использования]
Шаг 4. Управление (governance) — административная структура
Закрепить режим IE как «режим исключения»
- Для каждого нового URL, добавляемого в режим IE, обязательно указывайте следующее:
- бизнес-владелец (кто несёт ответственность)
- технический владелец (кто отвечает за техническую сторону)
- дата истечения (до какого момента нужно избавиться от зависимости)
- план замены (каким образом избавляться)
- Если существующий XML-список сайтов относится к schema v.1, перейдите на schema v.2, которая пригодна для интеграции с режимом IE
- Отслеживайте историю изменений через Cloud Site List Management или инструмент управления конфигурацией
Аспекты безопасности
- Фиксировать эксплуатацию на старой сборке Edge опасно → используйте актуальные ветки Stable/Beta
- Если нужен период проверки, используйте Extended Stable (8-недельный цикл)
- Для проверки качества GPO используйте Security Compliance Toolkit и Policy Analyzer
- К инцидентам чаще приводит не «уязвимость самого режима IE», а «небрежная эксплуатация браузера вокруг него»
Планирование от конечной даты
- Окончание поддержки режима IE: 2029 год
- Окончание обновлений Edge/WebView2 на Win10 22H2: октябрь 2028 года
Это «внешние рамки срока вывода из эксплуатации». Сначала стоит построить график, спланированный от конечной даты, чтобы свести зависимость к нулю до окончания поддержки.
Рекомендуемая стратегия по масштабу
| Сценарий | Типичные условия | Рекомендуемая стратегия | Ориентировочные трудозатраты | Уровень затрат |
|---|---|---|---|---|
| Малый масштаб | Единственная система, 10-30 экранов, простой SSO, немного ActiveX | Централизованное управление списком сайтов + настройка нейтральных сайтов + поэтапная миграция по экранам | 3-6 человеко-месяцев | Низкий — средний |
| Крупный масштаб | Несколько направлений бизнеса и доменов, сложный SSO, несколько эксплуатирующих подразделений | Управление Cloud Site List + Discovery + расстановка приоритетов + изоляция VDI + поэтапная миграция | 18-36 человеко-месяцев | Высокий |
| Ограниченный бюджет | Поддержка поставщика прекращена, «чёрный ящик», быстро не исправить | Формализация режима IE + App Assure + изоляция AVD + запрет новой зависимости + замена по одной функции в квартал | Первый этап 2-4 человеко-месяца + продолжение | Низкий вначале, средний в среднесрочной перспективе |
Частые ошибки и их устранение
| Ошибка | Правильный подход |
|---|---|
| «До 2029 года ещё далеко, можно отложить» | 2029 год — это срок завершения перехода. Планировать нужно от завершения, а не от начала подготовки |
| Оставить «просто перезагрузить в режиме IE» на усмотрение пользователей | Эксплуатировать официально, через политику и список сайтов |
| «Давайте перепишем всё разом» | Реалистичнее заменять поэтапно, по экранам |
| «Внедрим модные микрофронтенды» | Рассматривать только тогда, когда границы команд совпадают с границами деплоя |
| «Продлим жизнь с помощью контейнера» | Контейнеры Windows не подходят как место продления жизни GUI-браузера |
| «Обернём всё в обёртку — и порядок» | Ошибка в проектировании границ удваивает технический долг |
| «Модернизацию можно поручить App Assure» | App Assure покрывает только поддержку настройки режима IE. Разработка для модернизации — отдельный бюджет |
Итог
Стандартная стратегия = официальная эксплуатация режима IE (предотвращение инцидентов)
+ видимость зависимости (инвентаризация)
+ поэтапное сокращение (выход по одному элементу за раз)
- При малом масштабе — поэтапный рефакторинг
- При крупном масштабе — контроль над списком сайтов + управление портфелем
- При жёстком бюджете — сдерживание через виртуализацию с одновременной остановкой новой зависимости
- Полная переработка — последний козырь
- Контейнеры, как правило, вне рассмотрения, VDI — временное укрытие, а режим IE — взлётная полоса (то, с чего вы должны в итоге взлететь)
Справочные ссылки
- Lifecycle FAQ for IE and Edge — политика в отношении режима IE до 2029 года
- Overview of IE mode — базовый материал об области поддержки
- Configure IE mode policies — три уровня интегрированной настройки
- Enterprise site configuration strategy — нейтральные сайты, совместное использование cookie, schema v.2
- IE mode troubleshooting and FAQ — диагностическая страница, использование
net-export - Cloud Site List Management — централизованное управление в центре администрирования
- Enterprise Site Discovery — отправная точка инвентаризации
- WebView2 documentation — для оценки подхода с обёрткой
- Azure Virtual Desktop / RemoteApp — как мера изоляции
- Windows Containers migration guide — не подходит как место продления жизни GUI
- App Assure — область поддержки настройки режима IE
- Playwright — автоматическое тестирование Edge
- single-spa — основы микрофронтендов
- webpack Module Federation — интеграция независимых сборок
Похожие статьи
Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.
После IE-режима — WebView2? Ограничение по ActiveX и реалистичный план миграции
Разбираем базовую архитектуру WebView2, стратегии распространения Evergreen и Fixed Version, ловушку с папкой пользовательских данных, сп...
До каких пор будут работать приложения VB6 ── состояние поддержки среды выполнения и практичный путь миграции на .NET
До каких пор будут работать приложения VB6? В статье разбирается асимметрия между политикой поддержки среды выполнения VB6 (поддерживаетс...
Что сделать перед утилизацией Windows PC — практический чек-лист по стиранию данных, отвязке учётных записей и резервному копированию
Разбираем, что нужно сделать перед утилизацией, передачей, продажей или возвратом по лизингу Windows PC: резервное копирование, стирание ...
Аутсорсинг и контрактная разработка Windows-приложения: что стоит прояснить перед заказом
Перед тем как заказать аутсорсинг или контрактную разработку Windows-приложения, разберём, что нужно прояснить: доработка существующего П...
Как правильно работать с токенами олицетворения в Windows — заимствование прав на уровне потока и безопасный откат
Разбираем токены олицетворения в Windows — токены доступа, первичные и потоковые токены, уровни олицетворения, RevertToSelf и WindowsIden...
Связанные темы
Эти страницы показывают тему статьи в более широком контексте услуг и решений.
Технические темы Windows
Раздел о разработке Windows, расследовании сбоев и использовании существующих активов.
Услуги по этой теме
Статья напрямую связана со следующими услугами.
Разработка приложений для Windows
Бизнес-приложения, интеграция оборудования и средства связи — от требований до разработки.
Частые вопросы
Вопросы, которые часто возникают при консультациях по теме статьи.
- До каких пор будет поддерживаться режим IE в Microsoft Edge?
- Режим IE поддерживается как минимум до 2029 года, и Microsoft обязалась уведомить о прекращении поддержки за год до этого момента. Само десктопное приложение IE11 уже снято с эксплуатации, а обновления Edge / WebView2 Runtime на Windows 10 22H2 продолжатся как минимум до октября 2028 года. Важно понимать: «доступно до 2029 года» — это не разрешение оставить всё как есть, а срок для планового выхода. 2029 год стоит воспринимать как дедлайн завершения перехода, и планировать нужно от даты завершения, а не от даты начала подготовки.
- Почему не получается избавиться от зависимости от режима IE?
- Режим IE — это механизм внутри Edge на базе Chromium, который отрисовывает только устаревшие сайты движком Trident (MSHTML). Именно этот движок Trident берёт на себя старые режимы документов, элементы управления ActiveX и BHO, устаревшие настройки зон безопасности, а также параметры совместимости Enterprise Mode. Пока сохраняется зависимость от всего этого, простое обновление браузера проблему не решает. Первый шаг — разложить зависимость по категориям: режим документа, ActiveX/BHO, аутентификация и SSO, интеграция на стороне клиента, устаревшие рабочие практики — и понять её истинную природу.
- Какие есть способы избавиться от зависимости от режима IE?
- Основных вариантов шесть: продолжение эксплуатации в режиме IE, WebView2-обёртка, поэтапный рефакторинг, микрофронтенды, полная переработка и изоляция через VDI / RemoteApp. Практический первый выбор — поэтапный рефакторинг, позволяющий модернизировать экраны и функции по одной. WebView2-обёртка используется не для того, чтобы сохранить ActiveX, а чтобы перенести обязанности уровня ОС — работу с файлами, взаимодействие с оборудованием — на нативную сторону и заново провести границу. Полная переработка — крайняя мера для случаев, когда зависимость настолько глубока, что разложить систему на части не получается.
- Что делать, если режим IE придётся использовать ещё какое-то время?
- В первую очередь — официально управлять списком сайтов через политику, а не оставлять «перезагрузку в режиме IE» на усмотрение пользователей. Переход на Cloud Site List Management позволяет распространять несколько списков, вести историю изменений и назначать их по группам. Если задействован SSO, нужно корректно настроить нейтральные сайты и при необходимости — совместное использование cookie. Кроме того, для каждого нового URL, добавляемого в режим IE, обязательно нужно указывать бизнес-владельца, технического владельца, дату истечения и план замены, а также ежемесячно сокращать целевой список в рамках рабочего цикла.
Об авторе
Страница с профилем автора статьи.
Го Комура
Представитель KomuraSoft LLC
Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.
Публичные ссылки