Project Centennial": Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows Store

Download this episode

Download Video

Download captions

Download Captions

Description

Enabling existing Classic Windows applications (Win32, .NET, COM) to be part of the Store ecosystem is a key part of Windows 10. This session will cover in detail the technologies that will enable you to convert your app to a Windows APPX package, enabling it to be distributed by the Store and to take advantage of the Universal Windows Platform.

Tags:

App Model, Store

Day:

2

Session Type:

Breakout

Code:

2-692

Room:

Room 2001

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      need

      Please post slides - sessions are over, how come no slides?

    • User profile image
      jsheehan

      I'll get them posted as soon as I can. But, honestly, they don't say much.

    • User profile image
      Rorymon

      @jsheehan:Hi Sir, any possibility that you might hop on one of our App-V MVP calls? I'd love to know more

    • User profile image
      WndSks

      Will the appx manifest allow you to opt-in to run in the app-container 100% of the time?

      Will I as a user be able to force apps to always run in the app-container and restrict its permissions so I can deny internet access etc? Please don't fall into the Android trap here, this is your only chance to give users control over their own machine!

    • User profile image
      Question

      Will you be able to create exceptions for apps that install drivers that do special things for power users?

    • User profile image
      jsheehan

      @Rorymon:  Sure.  I'm always happy to talk with our MVPs. 

    • User profile image
      jsheehan

      @WndSks: Yes, you can absolutely choose to run in the App Container 100% of the time. 

    • User profile image
      jsheehan

      @Question: We won't.  This isn't just a question of creating an exception.  Servicing components like drivers actually requires different technology. For example, drivers often can't be serviced without a reboot, because they can't successfully be stopped.  We have other technology for servicing drivers. 

    • User profile image
      tmangan

      So how will the enterprise/end user customize settings for the app that are traditionally handled via the installer?  Will they be able to repackage what the ISV partner provides, or must the developer re-jigger their app settings UI to include all of those things?  Hopefully the former, as many of these complicated apps have enterprise specific settings that the end-user has no clue of.

    • User profile image
      mano75

      what if the installation require user inputs to be given to the installation , like getting the username and credentials for running a service or something like that ... How is that taken cared?

    • User profile image
      winston potgieter

      Will vb6 apps be included in "classic applications'?

    • User profile image
      VB6 Programming

      That is a good question !
      Will VB6 applications be supported ?

      There is a whole lot of VB6 code still around.

    • User profile image
      Michael

      There are so many mission critical VB6 applications out there that are both running in production and need support.

    • User profile image
      aclinick

      @Michael:@VB6 Programming:@winston potgieter: Centennial supports all win32 apps (it doesn't matter how they're written)  That being said most VB6 apps are enterprise apps and while those are win32 apps the primary way to distribute enterprise classic windows apps is via App-V.  We are working closely with the App-V team to ensure that AppX's built in centennial will work well in the App-V environment

    • User profile image
      WPF developer

      This was a great presentation and a cool tool but it still leaves me with some questions:

      We have an WPF application that is composed of managed and unmanaged parts. The unmanaged code is called using managed wrappers. We currently can deploy using simple xcopy so I guess that is will be completely strait forward move this to an AppX that can be deployed using the store. Great!

      It is however unclear to me if the app will then run on all Windows 10 devices like Windows Phone and Xbox. Will our unmanaged managed code called through the managed wrappers work on these devices, or will we need to re-implement this in .Net?

    • User profile image
      anonymous

      What about applications required to run on startup? Does it works on Project Centennial?

    • User profile image
      aL3891

      Suppose i make an appx that is not deployed to the store, i wonder how the updates will work then.. can you supply like an alternate url for it to look for updates?

    • User profile image
      myh

      Could Win32 UWP apps run also on Windows 10 phones? Or, they can run only on Windows PCs?

    • User profile image
      metin emre

      Myh, just will run on pcs.

    • User profile image
      Xabi

      Hi. Sounds very interesting. I have read "start to convert your UI to XAML", but... if the UI is made for example in VB or VFP... how is the way (as easy as it sounds here) to convert these UI's with the existing business logic code? 

      Could you clear this a little bit?

      Thanks!

    • User profile image
      dcuccia

      @jsheehan: very cool. Will Project Centennial apps be compatible with Assigned Access (kiosk mode)?

    • User profile image
      jsheehan

      @tmangan:  Enterprise configuration would need to be done through GP.  Repackaging apps will not be supported.  For that scenario, continue to use App-V.  Centennial is not a replacement for App-V. 

      User input should be done on first launch.  That is the only correct way to do it, anyway, since install is run once, buy many users may end up using the app on the device. 

    • User profile image
      jsheehan

      @WPF Developer:  No, Centennial will not work on anything other than desktop.  If you want to run on those platforms, you need to become a UWA.  Centennial is a great way to start the port to becoming a UWA.

    • User profile image
      jsheehan

      @aL3891:  Deployment and updating works the same as it does for any other AppX.  There is support through SCCM, etc

    • User profile image
      jsheehan

      @Xabi, I would expect most business logic to work just fine as you start moving to being a Xaml app.

    • User profile image
      B3NT

      @jsheehan

      Wow, you are still answering questions all these months later? That's really cool. Is there any news on this "bridge"? I think its really the key to seeing the store pick up.

    • User profile image
      sselvia

      I have a Java 8 using JavaFX 8 packaged as a desktop application using a MSI installer. Will Project Centennial be able to handle a WCA and convert it to a Appx application?

    • User profile image
      Michel Bujardet

      Looking forward to try the converter. I signed up for the preview and hope to have news soon.

      I already have apps in the Windows Store but it was huge undertaking to rewrite my most popular apps so I had basically given up. It is wonderful to envision an easier route.

      These Win32 apps have been written in Xojo (see Xojo.com) for cross platform source code compatibility with Mac OS X. Also, I use another installer than MSI (sorry). Am I wrong in understanding the converter will simply show the installer a PC to install to, and make an AppX out of it ? If so, I know quite a few Xojo developers currently in the Mac App Store who will be glad to jump to Windows.

    • User profile image
      sselvia

      I signed up for updates (none so far) where did you sign up for the preview, can you provide the link?

    • User profile image
      aionescu

      @jsheehan So, if i understand correctly what you're saying: project c let's you install win32 apps through the store and launch them as windows apps and after some work on the code you can transform it into an UWA app and in the end run it on all windows 10 platforms (xone, hololens, phones etc.). So basically, if you transform a win32 app to UWA this way it is possible to make the app work on a windows 10 phone that is not of the x86 architecture?

    • User profile image
      johnnyxp64

      I want this. Opens up huge possibilities for my customers and all my VB.net or c# programs that I have coded over the years.

      If we also get tablets or Ms phones that will run those great with the continuum technology Microsoft will be again a giant!!

      Let iOS or Android devices have their funny games and Windows 10 mobile device have first of all amazing business app support. They will sell like hot bread.

    • User profile image
      Nik

      What if Win32 app has shell extensions? For example, a lot of apps provide their file type icons or context menu items.

    • User profile image
      Moop

      Hey, just found this, looking forward to seeing the update at Build.

      Just noticed that it seems like a GIANT GAPING FLAW that these apps run at Full Trust. There is a *lot* of damage that apps can do while running with full user credentials - installing spyware, toolbars, messing up defaults, etc etc. Shouldn't they be sandboxed entirely, with the user giving specific permission to access specific folders? There's no way a manual app review would be able to catch dangerous actors without technical safeguards.

      Given the viciousness the current downloadable Windows ecosystem, it really feels like if these apps are allowed to run in Full Trust, it will still be unsafe for ordinary users to download them. Personally I'm tired of cleaning up spyware from people's computers, and if you allow these apps to run will full user permissions, maybe it'll be easy to clean, but it'll still be a huge problem. If you want your store to have the confidence of the iPhone app store, you can't simply allow these apps that sort of power.

      It really feels like you're prioritizing developer convenience for user security. Users should come first. Developers should adapt their apps to work in the sandbox. If they want to write a file outside of their sandbox, they should have to talk to the App Container or some other mechanism that gives the user control.

      The Full Trust idea feels like very naive approach that will compromise the whole feeling of security we're supposed to have from the Windows Store. I'm really hoping you've revised your approach in the meantime.

    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.