「CDPUserSvcが動作を停止しました」エラーの対処法【Windows 10 / Windows Server 2016】
Windows 10 / Windows Server 2016に最新のセキュリティ更新プログラムを適用した後、CDPUserSvcサービスが頻繁に異常終了するという報告が多数寄せられるようになりました。本記事では、CDPUserSvcサービスとは何か、なぜ予期せず停止するのか、この問題を解決する方法、そしてWindows 10 / Windows Server 2016でこのサービスを無効化できるかどうかについて詳しく解説します。
CDPUserSvcはWindows 10で初めて登場したサービスで、登場当初からユーザーに多くの疑問を抱かせ、さまざまな問題を引き起こしてきました。
エラー:CDPUserSvc_xxxxxが動作を停止しました
最近、一部のWindows 10 / Windows Server 2016ユーザーから、システムの起動時やシャットダウン時、さらには数分ごとに以下のようなエラーが表示されるとの報告があります。
CDPUserSvc_xxxxx has stopped working. A problem caused the program to stop working correctly. Close the program.
アプリケーションログには、次のようなエラーが繰り返し記録されます。
Faulting application name: svchost.exe_CDPUserSvc_12cff5, version: 10.0.14393.0
Faulting module name: cdp.dll, version: 10.0.14393.1715
Exception code: 0xc0000005
Faulting application path: C:\WINDOWS\system32\svchost.exe
Faulting module path: c:\windows\system32\cdp.dll
Windows 10のPCでは、Anniversary Update(1607)やFall Creators Update(1709)のインストール後にこのエラーが発生したという報告もあります。その場合は、後述する方法でCDPUserSvcサービスを独立したプロセスで起動するか、完全に無効化してみてください。
多くの場合、この不具合はWindows Server 2016およびWindows 10向けの11月の更新プログラムKB4048953が原因です。この更新プログラムがインストールされている場合は、以下のコマンドで正しくアンインストールするか、不具合が修正された次回の累積更新プログラムを待ちましょう。
wusa.exe /uninstall /kb:4048953
CDPUserSvcサービスとは?
CDPUserSvcとは「Connected Devices Platform User Service(接続済みデバイスプラットフォーム ユーザーサービス)」の略称です。サービスの正式名称は動的で、「CDPUserSvc_」の後にランダムに生成された5文字が付加されます(例:CDPUserSvc_65bd2)。
Windows 10のビルドによって、CDPUserSvcのスタートアップの種類は異なります。
- Windows 10 1507:手動起動
- 1511:無効
- 1607、1703、1709、1803:自動起動
サービスの状態は、以下のコマンドで確認できます。
sc query| find "CDPUser"
sc query CDPUserSvc_65bd2
このサービスはsvchostプロセス内で起動されます:svchost.exe -k UnistackSvcGroup
実行ファイルは %WinDir%\System32\CDPSvc.dll です。
興味深いことに、services.mscでサービス一覧を開いてCDPUserSvcを探すと、説明欄に次のようなテキストが表示されます。
「Failed to read description. error code 15100」(説明を読み取れません。エラーコード15100)
なぜこのような表示になるのかは明確になっていません。また、Microsoftからこのサービスに関する公式情報はほとんど公開されていません。CDPUserSvcの通信を解析すると、このサービスが定期的にMicrosoftおよびOneDriveのサーバーに接続し、HTTPS経由で何らかのデータを送信していることがわかります。
Process Explorerを使ってUnistackSvcGroupのsvchost.exeプロセスのプロパティを確認すると、このプロセス内では5つのサービスが動作しています(いずれもCDPUserSvcと同じ5文字の識別子を含んでいます)。
- CDPUserSvc_xxxxx
- OneSyncSvc_xxxxx:メール、連絡先、カレンダーなどのユーザーデータの同期を担当
- PimIndexMaintenanceSvc_xxxxx:検索を高速化するための連絡先インデックスサービス
- UnistoreSvc_xxxxx:構造化されたユーザーデータ(連絡先、カレンダー、メール)を保存
- UserDataSvc_xxxxx:構造化されたユーザーデータへのアクセスを提供
おそらくCDPUserSvcも、Microsoftサーバーとのユーザーデータ同期を担っていると考えられます(テレメトリの一種でしょうか)。したがって、標準のWindows 10の連絡先・メール・カレンダーアプリを使用していないのであれば、OSに悪影響を与えることなくCDPUserSvcを無効化しても問題ありません。
CDPUserSvcの分離(独立プロセスでの実行)
CDPUserSvc_xxxxxサービスの頻繁なクラッシュ問題に対するもう一つの解決策は、このサービスを独立したモード(isolated mode)で実行することです。管理者権限のコマンドプロンプトで以下のコマンドを実行してください。
sc config cdpusersvc type= own
[SC] ChangeServiceConfig SUCCESS と表示されれば成功です。
これにより、CDPUserSvcは専用のsvchost.exeプロセスで起動されるようになります。その後、クラッシュの問題が解消されたかどうかを確認してください。それでも問題が続く場合は、次の方法でサービスを無効化してみてください。
CDPUserSvcサービスを無効化する方法
services.mscでCDPUserSvc_xxxxxを手動で停止して「無効」に設定しても、しばらくすると別の名前で再び起動してしまいます。
注意:興味深いことに、レジストリからこのサービスを削除しても、しばらくすると別の名前で再び出現します。システムはこのサービスの削除を防ごうとするのです(Microsoftはマルウェア開発者の手法を採用しているようですね 😉)。
このサービスの起動を無効化するには、レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDPUserSvc の Start パラメータの値を「2」(自動起動)から「4」(無効)に変更します。
または、以下のコマンドを実行しても同じ結果が得られます。
sc config CDPUserSvc start= disabled
reg add "HKLM\SYSTEM\CurrentControlSet\Services\CDPUserSvc" /v "Start" /t REG_DWORD /d "4" /f
-
Windows 10で「Modern Setup Hostが動作を停止しました」エラーを修正する9つの対処法
Windows 10には多くのメリットがあります。その中でも特に人気なのが、Windows 7やWindows 8からデータ・アプリケーション・設定を失うことなくアップグレードできる点です。しかし一部のユーザーからは、メディア作成ツール(Media Creation Tool)を使ってWindows 10へアップグレードする際に、「Modern Setup Hostが動作を停止しました」というエラーメッセージが表示されるとの報告があります。 Modern Setup Hostとは? Modern Setup Hostは、自己展開型アーカイブ兼インストーラーです。C:\$Windows.BTSo
-
Windows 10で「.exeは動作を停止しました」エラーを解決する7つの対処法
パソコンでプログラムを起動しようとした際に、「.exeは動作を停止しました(.EXE Has Stopped Working)」というエラーメッセージが表示され、アプリが実行できなくて困っていませんか?このエラーは、プログラムの中核となる実行可能ファイル(EXE)が正しく機能できないときに発生します。発生原因はひとつに特定できず、複数の要因が絡み合っていることも珍しくありません。考えられる主な原因は以下の通りです。 システムファイルの破損 互換性設定の問題 マルウェアなど悪意のあるソフトウェアへの感染 ドライバーの旧式化や不足 一時ファイル・ジャンクファイルの蓄積 Windows 10で「