Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

When deploying Kinect apps, ensure the runtime, components and device are ready...

The second post in our "Oh yeah, v1!" week is a logical next step from yesterday's post...

Now that the Kinect for Windows SDK is in a v1 state and we can start officially deploying Kinect for Windows SDK based applications, one of the things we're going to be facing is just that, deployment and setup issues. Rob Relyea has kicked off helping us with just that, providing suggestions and tips...

Kinect Apps – ensuring Kinect Runtime is installed

Kinect for Windows 1.0 enabled apps should ensure that the Kinect Runtime is installed wherever the app is installed.

[Note: Kinect for Windows 1.0's latest public preview is beta 2. Parts of this blog post may be applicable to beta 2, but is primarily focused on the final v1.0 version, coming February 1st. Since v1.0 is not yet released, information I give here may change when it does release. I also am filtering this information to ensure that I am not giving away details that we don't yet want to release.]

Guidelines

App installers should install its dependencies, including Kinect Runtime – CRITICAL

Kinect for Windows 1.0 will have a KinectRuntime-v1.0-Setup.exe that your app installer MUST chain install. In addition to installing Kinect specific software (drivers + runtime), KinectRuntime-v1.0-Setup.exe will ensure the following dependencies are installed:

  • VCRT x86 and/or x64
  • .NET 4 client profile (or later 4.x versions like .NET 4.5)
  • Microsoft Speech Runtime v11 x86 and/or x64
Running an app should provide a decent user experience if Kinect Runtime isn’t installed

...

Project Information URL: http://robrelyea.wordpress.com/2012/01/11/kinect-apps-ensuring-kinect-runtime-is-installed/

public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            if (IsKinectRuntimeInstalled)
            {
                //go ahead and load the StartupUri as defined in App.xaml
                base.OnStartup(e);
            }
            else
            {
                MessageBox.Show(Assembly.GetExecutingAssembly().FullName + " is not able to excecute."
                + "An important dependency should have been installed by its setup program: Microsoft Kinect Runtime 1.0");
            }
        }

        public bool IsKinectRuntimeInstalled {
            get
            {
                bool isInstalled;
                try
                {
                    TestForKinectTypeLoadException();
                    isInstalled = true;
                }
                catch (FileNotFoundException)
                {
                    isInstalled = false;
                }
                return isInstalled;
            }
        }

        // This Microsoft.Kinect.dll based type, must be isolated in its own method
        // as the CLR will attempt to load the Microsoft.Kinect.dll assembly it when this method is executed.
        private void TestForKinectTypeLoadException()
        {
#pragma warning disable 219 //ignore the fact that status is unused code after this set.
            var status = KinectStatus.Disconnected;
#pragma warning restore 219
        }
    }

Contact Information:

Tags:

Follow the Discussion

  • moezmoez

    great post !!

  • Maybe you can help. I have got all the VB samples for SDK1 on this site to run, but I cannot get Designer to load anything. It keeps complaining that Microsoft.Samples.Kinect.WpfViewers cannot be found so it obviously chokes on KinectColorViewer etc. For the life of me I cannot find Microsoft.Samples.Kinect.WpfViewers.dll anywhere on the computer. Is this the problem ? If so where do I get the dll from ? Thanks.

  • Greg Duncangduncan411 It's amazing what a professional photographer can do...

    @DrWave:That DLL should be able to be found in %KINECTSDK10_DIR%\samples\bin\ which in my case resolved to C:\Program Files\Microsoft SDKs\Kinect\v1.0\samples\bin\

  • Thanks. But no success. I did find the dll in a...... \bin subdirectory . I guess my problem is I don't know how the following line resolves ....mlns

    xlmns:my="clr-namespace:Microsoft.Samples.Kinect.WpfViewers;assembly=Microsoft.Samples.Kinect.WpfViewers"

    what exactly is in clr-namespace? Do I need to put in a more complete path ? I guess I will have to take the VB.NET tutorial for beginners ! Being good with VB6 is no help anymore.

  • Greg Duncangduncan411 It's amazing what a professional photographer can do...

    @DrWave: Check your references...

    I just grabbed the source and opened "KinectforWindowsSDKV1\3.Camera Fundamentals\CameraFundamentalsVB" and it loaded and complied for me fine. With the error you're getting I'd check your references.

    My references auto resolved to "C:\Users\Greg\Desktop\KinectforWindowsSDKV1\KinectforWindowsSDKV1\Dependencies\KinectWpfViewers\bin\Release\Microsoft.Samples.Kinect.WpfViewers.dll"

    To check references, I click on the "Show All" in the Solution Explorer toolbar and then expand References item. Make sure all appear the same, are not marked as unfound, etc.

    If your references are right, if VS can find the DLL via the references, you shouldn't have to touch the WPF at all

  • Hey Greg: Thanks for the tip. You are right - you have to go inside solution explorer, expand everythng, and click on "include in project" for these dll's. Then all is good.

  • HariHari

    Thank you Greg. My problem was similar, I had everything references. Just that I had to use these dlls by 'using' in the c# code and now it works fine .

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.