Kinect for windows sensor does not start when using remote WMI

元ネタ

KINECTで取得したデータを保存するアプリケーションを多数のクライアントに配布して実行してみたら正常に動作しなかったという投稿です。

具体的には以下の様な現象が起こっています。

  1. KINECTのデータを取得するためのアプリケーションを作成した
  2. Windows 8.1のマシンにアプリケーションを配布し、 WMIアーキテクチャを利用してWindows 7のマシンからリモート実行する
  3. アプリケーションが実行されていることは確認できたけど、データが保存されていない
  4. kinectsensor.openが実行されてもsensor.IsAvailableがfalseのまま変わらない

Kinect for windows SDKはユーザセッションがないと動作しない

実は関連する投稿がいくつかあります。

つまりユーザセッションがない場合はKINECT SDK(と言うかKINECT Service)を使ってKINECTを動作させることはできない、ということです。

クライアントに配布したKINECTアプリケーションを実行するといえば、先日発表されたMicrosoft Cube SDKのDeploy Toolには配布したExeファイルを実行・制御する機能があると記載されていました。

Microsoft Cube SDKが公開されました - ハードコイルド・ワンダーランド

これはどうやって実現しているのか気になるところです(KINECTのデータを受け取るだけでSDKを利用していないのかもしれませんが)が、現状ではリモートデスクトップ接続などでクライアントに接続した状態でしかKINECTv2を動作させる術はありませんでした。