COMの後継となるのが「.NET Framework」
ただし、今でも現役で使われている
しかし、COMにはいくつか問題があった。たとえば、機能を追加するなどコンポーネントのバージョンアップをする場合、互換性を保たないと、旧アプリケーションやサードパーティのアプリケーションが動作しない可能性があった。同一のコンポーネントは、1つしか登録できないという制約があり、システムディレクトリにおかれていたため、古いコンポーネントを同梱したアプリケーションが新しいコンポーネントを上書きしてしまう可能性があった。
COMを使うActiveXも一時は隆盛を極めたが、セキュリティ的な問題が多発し、結果的に制限された形でしか利用できないようになり、後継のEdgeでは廃止されている。
ネットワークを介してCOMを呼び出せるようにしたものがDCOM(Distributed COM)である。コンポーネントを別のマシンに置き、ネットワークを介して呼び出せるようにしたものだ。このDCOMは、のちに改良されてCOM+と呼ばれるようになった。
このCOMやCOM+の後継となるのが.NET Framework(やCLR:Common Language Runtime)である。逆に言えば、.NET FrameworkはCOMの問題を解決できるような仕組みとして作られた。しかし、前述のようにCOMを廃止することはできず、.NET Frameworkでは、COMコンポーネントを簡単に扱えるようにしてある。
.NET Frameworkでは、COMのコンポーネントに対応するものとして「アセンブリ」を定義する。アセンブリには、リフレクションと呼ばれる仕組みがあって、アセンブリが含むクラスやそのメソッド、引数などの情報を調べることができる。アセンブリは、原則、特定のアプリケーション(他のアセンブリ)から呼び出すことが前提となるローカルなものだが、「グローバル・アセンブリキャッシュ」(GAC。Global Assembly Cache)にインストールすることで他のプログラム(アセンブリ)から利用可能になる。
現在ではソフトウェア開発で、COMコンポーネントを作ることは少なくなったが、Windowsのコンポーネントを呼び出して使うことは結構ある。COMは古い技術だが、いまだに現役と言える。

この連載の記事
-
第475回
PC
Windowsのコマンドラインの補完機能について解説 -
第474回
PC
Windowsでのコマンドラインのヒストリ機能 -
第473回
PC
Windowsは内部的にどうやってインターネットへの接続状態を確認している? -
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる - この連載の一覧へ