MSのネイティブWinUI 3レジストリ エディター、Regeditをモダンに刷新

MSのオープンソースMS.UI.Reactorリポジトリで、ネイティブWinUI 3版のレジストリ エディターが発見されました。コンパイルしてWindows 11上で起動すると、実際のWindowsレジストリを読み取りながら、regedit.exeよりも大幅にモダンなインターフェイスを表示できます。
MSは10月の開発者向けブログ記事で、翌月にサンプルアプリを紹介すると予告した際、“レジストリ エディター”について簡単に言及していました。その紹介はまだ公開されていないため、今回はPC上で動作する同アプリをいち早く確認したものとなります。ただし、現時点では開発者向けサンプルにとどまっており、MSはWindows 11のレジストリ エディターを置き換える計画を発表していません。

MSのWinUIレジストリ エディターは、Windows 95時代のオリジナルとはまったく異なる外観
現在のレジストリ エディターは、今もWindows 95で導入された2ペイン構成を採用しており、左側にキー、右側に値を表示します。Windows 10 Creators Updateで追加されたアドレスバーを除けば、黄色いフォルダー、コンパクトなメニュー、小さな文字は、この30年間ほとんど変わっていません。
WinUI版は使い慣れた2ペイン構成を維持しているため、長年にわたり基本レイアウトが変わっていないツールの操作を、経験豊富なユーザーが一から覚え直す必要はありません。
メニューにはより広いスペースが確保され、ツリービューからは従来の黄色いフォルダーがなくなっています。このプロジェクトがサンプル段階を超えて進展すれば、モダンなフォルダーアイコンによってナビゲーションが改善される可能性があります。アドレスバーにはWinUIのテキストボックスが使用され、下部のステータスバーには現在のパスが表示されますが、この情報は重複しているともいえます。まだ開発者向けサンプルであるため、デザインは今後大幅に変更される可能性があります。
ビルド26340.9882を実行するPCでは、アプリはすばやく起動し、既存のレジストリ エディターとほぼ同等の速度で動作しました。HKEY_CLASSES_ROOTを展開すると、.386、.3gp、.7zなどのキーが表示される前に、“読み込み中…”というプレースホルダーが一時的に表示されました。HKEY_LOCAL_MACHINE\SOFTWAREには、regeditと同じキーと値が表示されました。メニューにはWinUIの滑らかなアニメーションが使用され、ウィンドウのサイズ変更もスムーズです。
ヘルプ > バージョン情報ダイアログでは、このアプリが単なるビジュアルモックアップではなく実際に機能するものであることが確認でき、“Registry Editor Reactor WinUI 3 Edition”と表示されます。

MS、WinUI 3とReact風のC#フレームワークでレジストリ エディターを再構築
MSはReactorについて、“MVU(Model-View-Update)パターンをWinUIデスクトップアプリにもたらす実験的なC#フレームワーク”と説明しています。プリンシパル ソフトウェア開発エンジニアのAlexandre Zollinger Chohfi氏は、開発者向けブログ記事で、その目的は“WinUI上でMVUがどこまで実現できるかを検証すること”だと述べています。
MSによると、Reactorは“新しいUIプラットフォームではありません”。アプリ内のすべてのメニュー、ツリー、ダイアログには本物のWinUIコントロールが使用されており、HTML、Electron、WebView2は一切使用されていません。主な違いは、開発者がアプリを記述し、構成する方法にあります。

MSは単にregedit.exeをモダンなウィンドウ内に配置したわけではありません。サンプルのソースコードでは、独立したRegistryServiceクラスが.NETのMS.Win32 APIを通じてレジストリの読み取りと書き込みを行います。また、保護されたキーにアクセスしようとしてもアプリがクラッシュしないよう、アクセス許可エラーも処理します。
ウィンドウにはWindows 11のMica背景が使用されています。これはアプリのパフォーマンスを維持するため、デスクトップの壁紙を一度だけサンプリングします。
XAMLは引き続きMSの戦略の一部であり、同社は“WinUIが基盤である”と強調しています。Reactorを通じて実証されたコンセプトは、最終的にWinUI自体へ組み込まれる可能性があります。MSはReactorを、AI支援コーディングツールの活用を含め、ネイティブアプリをより簡単に構築する方法として位置付けています。
レジストリ エディターのサンプルは動作するものの、未完成の機能も残る
このサンプルは、MSのアプリケーションコードを変更せずにコンパイルできます。ビルド設定を調整して.NETとWindows App SDKを同梱すると、追加インストールなしで実行できる自己完結型のポータブルフォルダーになります。

MSのコードは、レジストリの主要な操作をいくつかサポートしています。
- キーの作成、名前変更、削除
- 文字列、バイナリ、DWORD、QWORD、複数行文字列、展開可能な文字列の各値の追加
- Ctrl+Fの検索機能を使用したレジストリ内の検索
レジストリを誤って変更するとWindowsが破損する可能性があるため、サンプルをテストする場合は仮想マシンを使用してください。
ソースコード内のコメントには、アクセス許可のサポートは“初期実装の対象外”と記載されています。
MSのWinUIモダナイゼーション、Windowsの旧来ツールにも拡大
このサンプルは、MSがregedit.exeの置き換えを計画していることを裏付けるものではありませんが、同社がその可能性を検討していることを示しています。8月のポッドキャストで、MSのWindows担当コーポレート バイス プレジデント(デザインおよびリサーチ)のMarcus Ash氏は、“Regeditや一部のツールについても、すでに検討を始めています”と述べました。
レジストリ エディターも将来的に、インターフェイスがモダナイズされるWindowsコンポーネントの一つになる可能性があります。
モダナイズされたWindows 11のプロパティ インターフェイス

WinUIベースの印刷管理ツール

モダンなWindows 11の「ファイル名を指定して実行」ダイアログ

MSのデザインチームは、今後さらに多くの旧来型ダイアログをモダナイズする予定であることを示していますが、コントロール パネルがすぐになくなるわけではありません。また同社は、モダンアプリが置き換え対象のツールより重くならないよう、WinUIのメモリ使用量削減にも取り組んでいます。
このWinUIサンプルは、Windows 11と一貫性のある外観と操作性を備えた初のレジストリ エディター実装です。アクセス許可のサポート、.regファイルの適切な処理、広範なテストは依然として必要です。それでも、そのデザインは、MSが将来モダンなレジストリ エディターをリリースすると決断した場合に、確かな基盤となり得ます。

