How Project Centennial works
At Build, Microsoft revealed more details about how the Desktop App Converter works. The starting point is an MSI which supports silent installation. You run the converter from the command line, and it fires up a Docker container and runs the installer within it, capturing the changes it makes to the file system and registry. When you deploy the resulting AppX, these changes are isolated to the application folder, with APIs redirected so that while the application may appear to be reading and writing its own registry entries or files installed in Windows system folders, in fact they are private to that application.
The Desktop App Converter takes an MSI and outputs an AppX
According to Sheehan, this approach will go a long way to improving the reliability and performance of Windows. There is no registry bloat as applications are added and removed, and no risk of DLL (Dynamic Link Library) version issues since each application has its own copies of libraries that it installs.
Not all applications will convert easily. The next stage after conversion is testing, and in many cases developers will need to modify either their installer or their application code to achieve success.
Unlike native UWP applications, Centennial apps run with full trust and unrestricted access to the Windows API. They cannot install drivers, but can use existing drivers for things like access to hardware, SQL Server or other databases, or networking APIs.
Using Project Centennial, developers can write code that runs on Windows 7 or earlier as well as in a Windows 10 Store app. That said, a Project Centennial AppX requires the Windows 10 Anniversary Update, so users will need to keep up to date; another reason why Microsoft is keen to push its concept of "Windows as a service".
Microsoft still encourages developers to migrate application to the UWP over time. You can write applications which run two processes, one on the UWP side, and one on the desktop side. Either process can activate the other, and the two processes can communicate using a UWP feature called App Service. This means a converted desktop app can have access to UWP features, such as background tasks which run even when the PC is in a low power state ("Connected Standby"). Sheehan envisages applications gradually moving more features to the UWP side, until they are fully migrated and can run on other UWP platforms such as Windows 10 Mobile or Xbox.
Although Microsoft's evolving strategy for applications on Windows is less ambitious, in security terms, than it was in Windows 8 days, Project Centennial still has potential to improve the experience for Windows users. AppX technology means applications can be cleanly installed and uninstalled, and deploying desktop applications though the Windows Store gives at least some protection, since they are vetted by the Store submission process.®