How to deploy an Universal Windows Project on real device mobile?

I'm trying to debbuging my app on real device (lumia 830 with windows 10 mobile 10.0.10581.0) Developer Mode is ON on both devices (mobile and PC), but when I'm deploying my app on my device I've got an error (DEP6100 and DEP6200). Howevere i can easily emulate on emulators and my PC, couldn’t understand whats the problem.

I googled a bit and I discovered how to resolve the problem.


  • Create a Registry Key in: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SirepClient] (Probably you will need to create it)
  • Create a dword with name "DisableProtocol3" and value 00000001
  • Restart Visual Studio and try deploying the solution back again.

It's a provisional solution meanwhile a patch is included in Windows 10 mobile. We will have to consider deleting this key after that.

If you want to inspect your device, connect your device via USB and open a browser and type

And you can watch your device in action!

Windows 10 Device – Home


Windows 10 Device – App Manager


Windows 10 Device – File Explorer


Windows 10 Device – Processes


Windows 10 Device – Performances (in real time!)


What is Agile?

Agile, in this context, is a generic style of working. It takes a holistic view of projects, rather than being just a set of delivery techniques.

Have you ever been involved in a project that spanned several months only to have customers not use the end result? Most developers have and probably more than once. Assuring that what you develop actually addresses the needs of the client has always been one of the biggest challenges in any development.

Addressing this problem was one of the motivations behind the Agile manifesto. The first guiding principle of the Agile manifesto states that 'Our highest priority is to satisfy the customer through early and continuous delivery of valuable outputs'.

What is Agile?

In a fast paced environment Agile ensures that solutions meet the business needs and is focussed on timely delivery.

Delaying decisions as much as possible until they can be made based on facts and not on uncertain assumptions and predictions is fundamental to an agile approach. This does not mean that no planning should be involved – on the contrary, planning activities should be concentrated on the different options and adapting to the current situation, as well as clarifying confusing situations by establishing an environment where rapid action can be taken.

Agile is all about flexibility, the principle of 'responding to change over following a plan' is considered a strength of agile. This does not mean that Agile does away with the need for planning. Things change, and you want to have flexibility to adjust and react to those changes. You clearly want to have a plan for where you're headed and approximately how you'll get there. But you also want to leave room to adjust your plan.

ASP.NET MVC OWIN and Microsoft account

  1. Register an app in the Microsot Account Developer Center

    Go to the Microsoft Account Developer Center and create a new application. After you have registered the application take note of the App ID and App Secret:


  2. Install the Nuget Package

    Install the Nuget Package which contains the Microsoft OAuth provider.

    Install-Package Microsoft.Owin.Security.MicrosoftAccount
  3. Register Provider

    Locate the file in your project called \App_Start\Startup.Auth.cs. Ensure that you have imported the Owin namespace:

    using Owin;

    In the ConfigureAuth method add the following lines of code:

        clientId: "Your client ID", 
        clientSecret: "Your client secret");
  4. Advanced Configuration

    To use the advanced configuration options, be sure to use the Microsoft.Owin.Security.MicrosoftAccount namespace:

    using Microsoft.Owin.Security.MicrosoftAccount;
    Request extra permissions

    If no scope is specified, the Microsoft OAuth provider will request permissions for the wl.basic scope. If you would like to request any other scopes, your will need to pass these scopes in the Scope property. For example, to request the wl.calendars permission, you can register the Microsoft provider as per the following example:

    var options = new MicrosoftAccountAuthenticationOptions
        ClientId = "Your client ID",
        ClientSecret = "Your client secret",

    For the full list of available permissions, see Scopes and permissions on the MSDN.

    Specify an alternative callback path

    By default the Microsoft provider will request Microsoft to redirect to the path /signin-microsoft after the user has signed in and granted permissions on Microsoft. You can specify an alternative callback path:

    var options = new MicrosoftAccountAuthenticationOptions
        ClientId = "Your client ID",
        ClientSecret = "Your client secret",
        CallbackPath = new PathString("/oauth-redirect/microsoft")

    You need to also make sure that the Redirect URI of your application in the Microsoft Account Developer Center matches this new callback path.

    Retrieve access token and other user information returned from Microsoft

    You can retrieve the access token and other user information returned from Microsoft in the OnAuthenticated callback function which gets invoked after the user has authenticated with Microsoft:

    var options = new MicrosoftAccountAuthenticationOptions
        ClientId = "Your client ID",
        ClientSecret = "Your client secret",
        Provider = new MicrosoftAccountAuthenticationProvider
            OnAuthenticated = async context =>
                // Retrieve the OAuth access token to store for subsequent API calls
                string accessToken = context.AccessToken;
                // Retrieve the user ID
                string microsoftUserId = context.Id;
                // Retrieve the user's full name
                string microsoftFullName = context.Name;
                // You can even retrieve the full JSON-serialized user
                var serializedUser = context.User;

Happy coding!