Description

Enabling existing desktop applications (Win32, .NET, etc.) to become part of the Universal Windows Platform (UWP) ecosystem is a key part of the Windows 10 vision. This session will cover the technologies that will enable you to convert your existing desktop application to a UWP app. We’ll demonstrate how to use the Desktop App Converter and Desktop Conversion extensions to take advantage of UWP features to enhance your app.

Right click or Alt+Enter to download this episode

Download captions

Download:

The Discussion

Hannes

Since this is an UWP App now, I theoretically can install it on my WM10 phone too...which will not work of course since the Win32 subsystem is missing. Doesn't this somehow interfere the idea of UWP apps?

Some genuinely amazing stuff. Look forward to trying out the tool and playing around with optimizing a converted legacy program or two for the things that UWP offers.

One request: as a security guy I'd be very interested to hear you talk more about what the app sec implications are for legacy programs when they're converted to UWP via Centennial. In particular, I'm wondering whether the isolation/sandboxing for converted apps is as robust as it is for apps written for UWP and bound by the constraints of AppContainer. (Or does all this file system & registry stuff occur within the regular strictures of AppContainer? More info about such facets would be much appreciated when you can get to it.)

Anyway, very impressive stuff. Look forward to learning more and trying the converter out.

@Matthijs: Thanks for the reply. Ironically after you sent it but before I saw it I actually watched the video of the full-hour plus talk from Build 2016, which addressed almost everything that was unclear in my mind.

I must very quickly say that, frankly, I was very disappointed indeed about the total lack of any focus on making these legacy programs more acceptable from an app sec & system security standpoint as part of the conversion to "modernity".. At the beginning of the one-hour session you folks bluntly said that it had been a stupid mistake not to let devs bring legacy code & even full legacy desktop programs into the modern app platform when Windows 8 debuded. But in terms of security it was not a mistake at all. Nudging devs to move away from their ancient, legacy code bases (with their usually-horrible app sec); prodding them to write and maintain code using SDL principles; and introducing robust sandboxing to protect users & their systems from the effects of an exploited vulnerability or intentionally malicious code; from a security standpoint, these were positive and necessary things. Regrettable necessities, in terms of burdening devs But definitely necessities, if major improvements for Windows end-user security are to ever really materialize, anyways..

And I do understand that the end goal with Centennial is to get devs & their programs "across the bridge" to where they have modern, more secure new apps. But what will now incentivize devs not to just "stop in the middle of the bridge" and to actually do the work to produce these "true" UWP apps created in accord with modern app sec practices & sandbox-ready? Getting their PC code to run on Xbox (niche), Win Mobile (near-death), or Hololens (down the road.)? Really? It strikes me as significantly more likely that some developers who may have actually been considering creating true UWP apps will instead just use Centennial to bring forward their current legacy programs, setting security concerns aside as they so often tend to do.

Anyway, in sum my feedback is that I am disappointed that to produce "modern desktop apps", Centennial conversion involves no imposition of modern security. Cheers.

You seem to forget one quite crucial thing, just because it is an Appx, and can be uploaded to the store, it doesn't mean it will be accepted. Also, the desktop app can already be installed today outside the store as a normal desktop app. If nothing else, Appx is a better deploy container for desktop apps as it will effect the system less.

This is more likely a very good step for LoB apps that can have their own company store, where you have millions and millions of invested dollars in the applications, with a very slow rate of change, which Microsoft bluntly shut the door on with Windows 8.

It is all fine to want better security, but you won't get their by forcing anyone, and that has been proven. If you force devs off the platform, they might as well use another platform, which is what happened. It has been more or less proven by now.

Centennial might be too late, but it is at least the right move.

For pure consumer facing application I am pretty sure most will go with the UWP approach, first, most of them have far less investment, secondly the form factor possibilities are far more desirable to reach.

Also, very few security threats that has scale, are due to desktop apps, it is far more likely that people install an unwanted app than that there is a security issue with the app that wasn't deliberate.

The biggest problem with going the UWP path is the fact that it does not run on Windows 7,8,8.1. This is the largest reason, by far, why it isn't happening, as you have to support multiple platforms. Centennial helps here as well, as it lets you leverage the new stuff while keeping the "old" platform running with the same code base.

You won't see anyone go full UWP with the LoB apps until there are no windows pre 10 anniversary out there to support.

Microsoft knows this, this is why we are seeing such a strong push to upgrade.

I think this is a fantastic initiative, albeit late, even if it is a stop gap technology. It should have been there from day 1, I think the world would have looked very different if it had (WinRT Arm is proof of that).

Deploy driven development trumps test driven in priority. If you can't deploy you are dead in the water before you even start.

From my last post stating the message that the container doesn't match the host.

Do you have to take the WIM which is provided in the download below:https://www.microsoft.com/en-us/download/details.aspx?id=51691

Use MDT and create a task sequence to create PCs / VMs with that specific version of windows, then install the base image?

MS, you are creating a lot of hoops to jump through if you expect people to try to use this. I'll wait till you get this ready for prime time and my organization will continue to use .msi and lock out the windows store in the mean time.