検証環境

「Windows Mobile デバイス センター 6.1」のサポート対象OSはWindows Vista・7です
かろうじて私の手元のWindows 7・10(64bit)にインストールして動いているという状況ですので、動けばめっけもん程度の認識でいて下さい

症状

WindowsCE 系の機器を接続したUSBを「取り出し」機能を使わず抜くと、それ以降の動作がおかしくなったりする様です
基本は「取り出し」機能を使って取り外すのが正しいお作法で、この方法であればサービスがおかしくなる事はありません

再起動バッチファイル

この問題のためにいちいちWindowsの再起動したり、サービスを起動するUIを開いたりするのは非常に面倒なので、再起動するバッチファイルを作りました

ダウンロード

以下のサイトに用意してあります
WMDC再起動バッチファイル - DoldoWorkz

解説

最低限のコマンドだけ取り出すと、以下の3つのコマンドを管理者権限で実行しています

net stop WcesComm
net stop RapiMgr
net start WcesComm

上の行から

  • サービス停止 Windows Mobile 2003 ベース デバイスの接続 (WcesComm)
  • サービス停止 Windows Mobile ベース デバイスの接続 (RapiMgr)
  • サービス開始 Windows Mobile 2003 ベース デバイスの接続 (WcesComm)
    依存関係により、自動で Windows Mobile ベース デバイスの接続 (RapiMgr) も起動する

…という動作を行います

さらにWindows10版では以下の2つのコマンドを管理者権限で実行しています
これは Windows10 Creators Update 以降で動作しなくなる問題に対応した物です

sc config WcesComm obj= LocalSystem password= ""
sc config RapiMgr obj= LocalSystem password= ""

上の行から

  • サービスのログオンを「ローカルシステムアカウント」に変更
    Windows Mobile 2003 ベース デバイスの接続 (WcesComm)
  • サービスのログオンを「ローカルシステムアカウント」に変更
    Windows Mobile ベース デバイスの接続 (RapiMgr)

…という動作を行います

さらに、Windows10版でバージョン1.03から以下のコマンドが実行される様になりました

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\WcesComm /v SvcHostSplitDisable /t REG_DWORD /d 1 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RapiMgr /v SvcHostSplitDisable /t REG_DWORD /d 1 /f

上の行から

  • Windows Mobile 2003 ベース デバイスの接続(WcesComm)の「SvcHost サービス分割」をオフ
  • Windows Mobile ベース デバイスの接続(RapiMgr)の「SvcHost サービス分割」をオフ

…という動作を行います

参考Webページ