This topic has popped up on a few threads (Access Kinect v2 from a Windows service | Sensor does not Open successfully under a Windows service)
We realize that it is a common request, but v2.0 of the SDK cannot, and will not support this. Running as a service is not possible, primarily, since:
- Windows does not support reliable GPU scheduling if we were running our KinectService as a service
- Kinect v2 runtime uses the GPU, while v1.8 runtime did everything on the CPU
You must run your process as a standard process in a user session (somebody must be logged in).
That application can be started via:
- task scheduler; or
- your own service that starts the kinect client application once a user logs on.
Hopefully this guidance will help you reach a workable solution for your scenario.
-Rob Relyea | Kinect Team
Rob Relyea [MSFT] http://twitter.com/rrelyea
As of Windows 8, Most Direct3D APIs can be used in services. I still do not understand this restriction...
Moreover, C++ AMP is supported in services in Windows 8+ (and Kinect v2 SDK only supports Windows 8+ anyway)...
I'm having issue getting kinect to do recording (kinect is connected to pc1) from another machine (pc2).
from pc2, I launch a process (let's call it kinectrecorder.exe) which lives in pc1 using WMI, the kinectrecorder runs as a background process in pc1. I don't know how to bring kinectrecorder to "foreground"?
Please see my previous post:
As I mentioned in the link, I can get kinectrecorder to do recording using remote desktop, psexec or running it on pc1 directly.