What is Microsoft Project Centennial?

question-mark-aspect-hero

In today’s Ask the Admin, I’ll explain what Microsoft Project Centennial is and how it will change the way .NET and win32 apps are delivered in Windows 10.

I firmly believe the future to be in the Universal Windows Platform, not because it enables apps to run on all devices that support Windows 10 — although that’s a significant advantage — but because UWP apps are more efficient and provide the level of security required as technology expands to every corner of our lives. And while Win32 apps are currently more capable, they’re based on a legacy technology that can’t meet the needs of modern computing.

Universal Windows Platform (UWP) apps might be the future, but the present is very much about win32 and .NET apps. And on the basis that UWP could take years to become as capable, the lack of win32 apps in the Windows Store restricts its adoption. But if you remember back to Microsoft’s 2015 Ignite conference, you might recall the promise that the Windows Store would become the delivery mechanism for all Windows programs, and not just UWP apps.

Project Centennial is a bridge for Windows 10 that allows developers to convert classic Windows apps (CWA) to AppX packages, the distribution format used by the Windows Store. The converted apps will consist of two parts, borrowing a subset of technologies from Microsoft’s application virtualization technology App-V: a UWP component and a CWA running outside of the trusted sandbox usually provided for Windows Store apps. Microsoft hopes that developers will then take the time to port CWA code to run natively in the UWP runtime, using Centennial as a stopgap while that work is undertaken.

Project Centennial versus App-V

While Project Centennial is for developers and App-V for system administrators, App-V will be updated to support packages created using Centennial, meaning that enterprises with access to MDOP on Windows 7 could run packages created using Project Centennial too. Centennial apps also have access to the UWP API, which gives developers easy access to Windows 10 features, such as Live Tiles and sharing contracts.

Converted Win32 apps will have some limitations however. For example, auto-updaters should be removed as all updates must be provisioned via the Windows Store. Additionally, the following features will not be available to converted programs:

  • Windows NT Services
  • Kernel space code
  • Code outside the user context
  • Privilege elevation
  • Load libraries from other apps

Even though Centennial apps cannot load libraries from other apps, Microsoft has promised a pipeline to communicate. Centennial apps are installed per-user, but file de-duplication technology is used to make sure only one copy is downloaded, and the Store update mechanism should provide differential updates rather than having to download the complete app.

According to a blog post by ZDNet’s Mary Jo Foley, the App-V client will be built-in to the Redstone 1 release of Windows 10, due sometime in the first half of 2016, and Redstone 2 looks set to include full support for Project Centennial apps, in fall 2016.

Win32 App Support for Windows 10 Mobile?

Rumors that Microsoft is planning to add x86 app support to Windows Mobile have been circulating for some time, and assumedly that would include the ability for programs packaged using Project Centennial to work on smartphones.

But why would you want to use a win32 app on a small touch-based device? The answer is easy. Once you add a keyboard, mouse and screen – think Continuum – you potentially have something close to a fully-fledged PC. Although I hasten to add that there’s no official word from Microsoft on support for Centennial apps on Windows Mobile.