IEモード依存システムの脱却ガイド
· 小村 豪 · IEモード, Edge, WebView2, Windows, モダナイゼーション, 既存資産活用
この記事を一言で
「IEモードを正式運用で安全に使いながら、依存を少しずつ減らして、最終的にIEモードをゼロにする」 ── これが現実的な戦略です。捨てる前に、まずはきちんと管理しましょう。
背景:IEモードは「いつまで」使えるのか
| 事項 | 期限 |
|---|---|
| IE11 デスクトップアプリ | すでに退役済み |
| Edge の IE モード | 少なくとも 2029 年まで(廃止の1年前に通知) |
| Edge / WebView2 Runtime の更新 (Win10 22H2) | 少なくとも 2028年10月まで |
ここで押さえておきたいのは、2029年まで使えるからといって安心して放置してよいわけではない、という点です。この期間はあくまで「計画的に脱却するための猶予」であり、2029年ギリギリになって慌てないためには、今から準備を始めておくしかありません。
なぜ IE モード依存から抜けられないのか
IE モードは、Chromium ベースの Edge の中で、古いサイトだけを 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 はサイトリストを1つしか処理しない → Edge 側ポリシーが IE 側ポリシーより優先される
依存の分類:まず「何に依存しているか」を見極める
| 依存の種類 | 内容 | 例 |
|---|---|---|
| 文書モード | 古い HTML/CSS/JavaScript のレンダリング | IE5・IE7・IE8 モード指定 |
| ActiveX / BHO | ブラウザ拡張によるネイティブ機能 | 印刷制御、ファイル操作、機器連携 |
| 認証・SSO | Windows 統合認証、クライアント証明書 | NTLM、Kerberos、クライアント証明書 |
| クライアント側連携 | OS やローカルリソースとの連携 | ファイルシステムアクセス、COM 呼び出し |
| 古い運用前提 | 特定ブラウザ前提のワークフロー | 「IE でしか開けない」業務マニュアル |
ステップ1:延命策 ── まずは安全に運用する
1. サイトリストをちゃんと管理する(最重要)
ユーザー任せの「再読み込み」は危険です。ポリシーで正式に管理しましょう。
| 管理方式 | 特徴 |
|---|---|
| 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 ラッパー | OS 連携や COM 呼び出しを一部だけ残したい | 一括リライトを避けられる | 境界設計を誤ると二重の負債に | 3〜8人月 |
| 段階的リファクタリング ★ | 画面単位・機能単位で切り出せる | リスク分散しやすい | 旧新共存期間の運用負荷 | 6〜18人月 |
| マイクロフロントエンド | 複数チームで並行開発したい | 独立デプロイ可能 | 統合設計が難しい | 9〜24人月 |
| 全面リライト | ActiveX/BHO/文書モード依存が深い | 長期的に最もコスト低 | 初期費用と検証負荷が大 | 12〜36人月 |
| VDI / RemoteApp 隔離 | すぐ直せないが利用継続は必須 | 業務停止を回避 | 根治しない。恒久化リスク | 2〜6人月 |
★ が実務上の第一候補です。
各パターンの使いどころ
段階的リファクタリング が最も現実的です。
- いきなり全部作り直す必要はない
- 画面や機能を1つずつモダン化していけばよい
- 新旧が混在する期間の「導線設計」(どの画面がどのエンジンで動くか)が重要
WebView2 ラッパー は「境界を切り直す」ために使います。
- ActiveX や COM 依存をそのまま温存するためではない
- 「ファイル操作」「機器連携」「Windows 認証」などの OS 側の責務をネイティブ側に寄せ、Web UI 側をモダン化する
- ただし WebView2 Runtime の配布責任が発生する点に注意
マイクロフロントエンド は「チーム境界」と「デプロイ境界」が一致している場合にのみ有効です。流行っているからという理由で採用すべきではありません。
全面リライト は最後の手段です。ActiveX や BHO への依存が深すぎて、どうしても分解できない場合に限ります。
ステップ3:具体的な進め方(ロードマップ)
評価 → 優先順位付け → PoC → テスト → 展開 → 運用
1. 評価 ── 依存の棚卸し
- Enterprise Site Discovery で対象 URL をリストアップ
edge://net-exportでネットワーク遷移を可視化- 依存を「文書モード」「ActiveX/BHO」「認証」「クライアント証明書」「ファイル/印刷」「機器/COM」に分類
2. 優先順位付け ── どこから手をつけるか
以下の観点で並べ替えます。
- 重要度(止まったらまずい順)
- 利用者数
- セキュリティ露出度
- 他システムへの波及度
- 切り出しやすさ(境界が明確かどうか)
特に「境界を切れば進む機能」と「境界ごと持ち替えが必要な機能」を分けておくと、その後の計画が立てやすくなります。
3. PoC(概念実証) ── 小さく試す
最初の対象は「業務価値が高く、依存が中程度」の 1ワークフロー から。
成功条件は以下の4点です。
- IE モードが不要になること
- SSO が維持されること
- 応答性能が比較可能なレベルであること
- ロールバック(元に戻せる)可能であること
4. テスト ── 新旧混在に対応する
- モダン経路 → Playwright で Edge を自動テスト
- IE モード経路 → 診断ページ + 手動確認
- 新旧混在期は「どの導線がどのエンジンで動くか」を明示する(明示しないと不具合の再現が困難)
5. 展開 ── 徐々に広げる
- カナリア配布(一部ユーザーから先行展開)
- Extended Stable(8週間サイクル)で検証窓を確保
- サイトリストの更新間隔やブラウザ再起動要件を運用フローに組み込む
- クラウドサイトリストを使う場合は Edge サインインが前提 になることを忘れない
6. 運用 ── 減らし続ける
- Cloud Site List Management のフィードバック機能で、ユーザーが追加したサイトや誤設定を回収
- 毎月 IE モード対象リストを縮小する運用サイクルを回す
- 「延命策」は必ず「減らす運用」とセットにする
全体の流れ(フローチャート)
flowchart TD
A[対象資産の棚卸し] --> B[依存分類]
B --> C{依存の種類は?}
C -->|文書モード・SSO中心| D[IEモード正式運用]
C -->|OS連携・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:ガバナンス ── 管理的な枠組み
IE モードを「例外運用」として明文化する
- 新規追加する IE モード対象 URL には、必ず以下の項目を設定します。
- 業務オーナー(誰が責任者か)
- 技術オーナー(誰が技術的に管理するか)
- 失効日(いつまでに脱却するか)
- 代替計画(どうやって脱却するか)
- 既存の XML サイトリストが schema v.1 の場合は、IE モード連携で使える schema v.2 へ移行する
- 変更履歴は Cloud Site List Management または構成管理ツールで追跡する
セキュリティ面での注意
- 古い Edge を固定して運用するのは危険 → 最新の Stable/Beta 系列を使う
- 検証期間が必要なら Extended Stable(8週間サイクル)を使う
- GPO の品質確認には Security Compliance Toolkit や Policy Analyzer を使う
- 「IE モードそのものの脆弱性」よりも「周辺のブラウザ運用が雑であること」のほうが事故につながりやすい
時間軸を逆算する
- IE モードサポート終了: 2029年
- Win10 22H2 の Edge/WebView2 更新終了: 2028年10月
これらは「撤退期限の外枠」です。サポートが切れる前に依存をゼロにする逆算表を先に作るべきです。
規模別の推奨戦略
| シナリオ | 典型条件 | 推奨戦略 | 目安工数 | コスト感 |
|---|---|---|---|---|
| 小規模 | 単一システム、10〜30画面、SSO 単純、ActiveX 少数 | サイトリスト集中管理 + ニュートラルサイト整備 + 画面単位の段階移行 | 3〜6人月 | 低〜中 |
| 大規模 | 複数業務・複数ドメイン、SSO 複雑、運用部門複数 | Cloud Site List 管理 + Discovery + 優先順位付け + VDI 隔離 + 段階移行 | 18〜36人月 | 高 |
| 予算制約 | ベンダー保守切れ、ブラックボックス、すぐ直せない | IE モード正式化 + App Assure + AVD 隔離 + 新規依存禁止 + 四半期1機能ずつ置換 | 初動2〜4人月 + 継続 | 初期低・中長期 中 |
よくある間違いと対策
| 間違い | 正しい考え方 |
|---|---|
| 「2029年まであるから後回しでいい」 | 2029年は脱却完了の期限。準備開始ではなく、完了から逆算すべき |
| 「IE モードで再読み込みすればOK」とユーザー任せ | ポリシーとサイトリストで正式運用すべき |
| 「全部まとめてリライトしよう」 | 段階的に画面単位で置き換えるのが現実的 |
| 「流行りのマイクロフロントエンドを入れよう」 | チーム境界とデプロイ境界が一致する場合だけ検討 |
| 「コンテナに入れて延命しよう」 | Windows コンテナは GUI ブラウザの延命先として不適切 |
| 「ラッパーで全部包めばいい」 | 境界設計を誤ると二重の技術負債になる |
| 「モダン化は App Assure に頼めばいい」 | App Assure は IE モード設定支援まで。モダン化開発は別予算 |
まとめ
標準戦略 = 正式な IE モード運用(事故防止)
+ 依存の可視化(棚卸し)
+ 段階的な削減(1つずつ脱却)
- 小規模なら段階的リファクタリング
- 大規模ならサイトリスト統制 + ポートフォリオ管理
- 予算が厳しいなら仮想化で封じ込めつつ、新規の依存を止める
- 全面リライトは最後の切り札
- コンテナは通常候補外、VDI は避難所、IE モード は滑走路(離陸するためのもの)
参考リンク
- IE と Edge のライフサイクル FAQ ─ IE モードの 2029 年方針
- IE モードの概要 ─ サポート範囲の基本資料
- IE モードのポリシー構成 ─ 統合設定の三段階
- Enterprise site configuration strategy ─ ニュートラルサイト、Cookie 共有、schema v.2
- IE mode troubleshooting and FAQ ─ 診断ページ、
net-exportの使い方 - Cloud Site List Management ─ 管理センターでの一元管理
- Enterprise Site Discovery ─ 棚卸しの出発点
- WebView2 ドキュメント ─ ラッパー化の検討に
- Azure Virtual Desktop / RemoteApp ─ 隔離策として
- Windows Containers 移行ガイド ─ GUI 延命先として不向き
- App Assure ─ IE モード設定支援の範囲
- Playwright ─ Edge 自動テスト
- single-spa ─ マイクロフロントエンドの基礎
- webpack Module Federation ─ 独立ビルド統合
関連する記事
同じタグを共有する最新の記事です。さらに近い話題で知識を深められます。
WindowsのMFCとは何か ── 既存資産を保守するための基礎知識
Microsoft Foundation Classes(MFC)の概要、Win32との関係、アプリケーション構造、メッセージマップ、Document/View、DDX/DDV、保守時の注意点を整理します。
Windows PCを廃棄する前にやっておきたいこと ── データ消去・アカウント解除・バックアップの実務チェックリスト
Windows PCを廃棄・譲渡・売却・リース返却する前にやっておきたいことを、バックアップ、データ消去、BitLocker、Microsoftアカウント、OneDrive、仕事用アカウント、開発者PC特有の秘密情報、廃棄証跡の観点から整理します。
Windowsアプリ 外注・受託開発を依頼する前に整理したいこと
Windowsアプリの外注・受託開発を依頼する前に、既存ソフト改修、装置連携、COM/ActiveX、配布・更新、保守の整理ポイントを解説します。
Windowsの偽装トークンを正しく扱う ── スレッド単位の権限借用と安全な戻し方
Windowsの偽装トークンについて、アクセストークン、プライマリトークン、スレッドトークン、偽装レベル、RevertToSelf、.NETのWindowsIdentity.RunImpersonatedまで、実務で安全に扱うための考え方を整理します。
C#(CSharp)でPowerShellを実行して、オブジェクトとして受け取る方法
C#からPowerShellを起動し、文字列ではなくPSObjectとして結果を受け取る方法を、PowerShell SDK、AddCommand、AddParameter、BaseObject、Properties、エラー処理まで実務目線で整理します。
関連トピック
このテーマと近いトピックページです。記事を起点に、関連するサービスや他の記事へ進めます。
Windows技術トピック
Windows 開発、不具合調査、既存資産活用の技術トピックをまとめた入口です。
このテーマがつながるサービス
この記事は次のサービスページにつながります。近い入口からご覧ください。
Windowsアプリ開発
業務アプリ、装置連携、通信ツールなどの Windows ソフト開発を支援します。
既存Windowsソフトの改修・保守
既存 Windows ソフトの機能追加、保守、段階的モダナイゼーションを支援します。
著者プロフィール
記事の著者プロフィールページです。
小村 豪
合同会社小村ソフト 代表
Windows ソフト開発、技術相談、不具合調査を中心に、既存資産が残る案件や原因が見えにくい障害調査に強みがあります。
公開リンク