Click here to Skip to main content
15,035,283 members
Articles / Desktop Programming / Universal Windows Platform
Article
Posted 14 Jun 2016

Stats

22.7K views
19 bookmarked

Convert Desktop Applications to Universal Windows Platform Apps - Project Centennial

Rate me:
Please Sign up or sign in to vote.
4.93/5 (20 votes)
14 Jun 2016CPOL4 min read
How to convert our existing lassic Windows/WPF/Win32 desktop apps to UWA? Project Centennial.

Introduction

Are you looking for a way to convert your existing Win32/WPF/Classic desktop applications to Universal Windows Platform? Don't want to change any code? Then go through this article, it will help you to convert your desktop apps to UWA (Universal Windows Apps) using Project Centennial.

Need for Universal Windows platform Apps

                                                                        

 Are you facing below problems in Classic Windows desktop/WPF/Win32 apps?

  1. Error in installations (incomplete installations, access issues, registry failure, framework problem)
  2. DLL hell issue (occur when same DLL is referring by multiple program but DLL is replaced due to version information is not persist by application)
  3. Uninstallation issue (does not uninstall completely, application un-install but registry key was not removed)
  4. Application utilizing high system resources (processor, RAM leads to hang up machine)
  5. One-click installation not possible
  6. Performance issue
  7. Want to run application on Windows 10

To over come such issues, we should move to UWA (Universal Windows Apps). There are multiple links exist on internet that explain how to build Universal Windows Apps but none will explain how to convert our existing Classic Windows/WPF/Win32 Desktop Apps to UWA. The answer is Project Centennial.

What is Project Centennial ?

Simply put, it is nothing but a useful desktop application convertor that will help developers to convert their desktop application/Win32/WPF Classic application to UWA. You just need to give your installer file (MSI) or .EXE file as an input and it will work on file and give you a .AppX or .AppXbundle file, that can be easily installed on Windows 10 and furthermore you can deploy that file to Windows Store. 

Project Centennial also gives a package identity to converted AppX/AppXbundle file (package identity will be useful when deploy it to windows store).

According to Microsoft:

"Desktop App Converter is a pre-release tool that enables developers to bring their existing desktop apps written for .NET 4.6.1 or Win32 to the Universal Windows Platform. The developers can run their desktop installers through the converter in an unattended (silent) mode and obtain an AppX package that can be installed via the Add-AppXPackage PowerShell cmdlet on their development machine." 

List of Features

  1. Apps created by Project Centennial can get full Windows 10 leverages. Apps get smoothly installed using sideloading features Read here: Sideloading features of Windows 10 
  2. As your APP has package identity, you can easily call UWA (Universal Windows Apps) API in your existing code.
  3. The user will experience a Window Store-like installation process as one-click installation is possible.
  4. Install and uninstall gets Intelligible as all required files and registry entries stored on single point, (in Windows desktop applications, where some temp files and few registry entries gets left behind even after you un-install application).
  5. Overall system speed will not be affected as registry entries will not span across all registry and installation files will be at single location (in Classic/Win32 desktop application registry entries and installation files span across system and will load on system boot each time, so it will cost to system performance), as well as Window 10 will handle UWA differently than classic application so it ends up in resource and performance improvement.
  6. After conversion, your output package will be gifted with Windows Apps features like great user interface with XAML, live tiles and updates, services, background work and more.
  7. Windows Store licensing and update amenity will be 'bydefault' applicable to your converted app
  8. Once it converted to AppX, we can run it on different windows platform like Desktop, Mobile, XboX, Surface, Holographic Devices, IOT etc.

Pre-requisite

It needs at least Windows 10 to be on the system to run Project Centennial. Hardware could be a x64 processor with good amount of memory.

How to use Project Centennial

First you need to download DesktopAppConverter.zip and then base image .wim file, both files can be downloaded from here.

Unzip 'DesktopAppConverter.zip' file on local system.

Use power shell window with admin rights to install convertor on your machine, see below command to install desktop convertor

PowerShell
PS C:\> .\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose

Successfully running the above command will lead to reboot.

After rebooting, you are almost ready to use app convertor. PowerShell or command prompt can be use to run this tool, you need to provide different parameters to run it like Installer, Destination, PackageName, Publisher and Version to AppX file (which is the output of the convertor program).

Syntax will be as below

PowerShell
DesktopAppConverter.ps1
-Installer <String> [-InstallerArguments <String>] [-InstallerValidExitCodes <Int32>]
-Destination <String>
-PackageName <String>
-Publisher <String>
-Version <Version>

Reference

Fore more details and usage you can switch to following link: Windows Dev Center: Project Centennial

Points of Interest

It is a really amazing convertor that will convert your Classic Windows/Win32 EXE to directly AppX without any code change, additionally we will get all Windows Store Apps-like benefits in bonus. Now let's see in the future how developers will treat this opprtunity and convert their EXE/MSI to AppX.

Hope it will help you all to convert your existing Win32/Windows Classic/WPF applications to the new world AppX

Happy conversion to you!
-Prasad

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

koolprasadd
Technical Lead
India India
Hi there, I am Prasad. Author, Blogger, contributor and passionate about Microsoft .NET technologies. I like to write an articles/blogs on different .NET aspects and like to help Developers, to resolve their issues and boost them on Microsoft Technologies.


Certifications: Microsoft Certified professional (MCP), Microsoft Certified technology specialist (MCTS), Agile-Scrum Master.


Awards: Microsoft Re-connect MVP (GSC Member), Most valuable member at dotnetspider, Most popular curator, Most active curator, featured curator at Microsoft Curah, Editor at dotnetspider.


Microsoft MVP 2014 [ASP.NET/IIS]
Click here for more .NET Tips
-After all Knowledge is an endless entity

Comments and Discussions

 
Questiondownload DesktopAppConverter.zip can't find it anywhere Pin
dcarl6614-Jan-18 7:34
Memberdcarl6614-Jan-18 7:34 
AnswerRe: download DesktopAppConverter.zip can't find it anywhere Pin
koolprasadd4-Jan-18 17:42
professionalkoolprasadd4-Jan-18 17:42 
GeneralRe: download DesktopAppConverter.zip can't find it anywhere Pin
dcarl6615-Apr-18 9:16
Memberdcarl6615-Apr-18 9:16 
QuestionWindows Forms? Pin
Oshtri Deka28-Jun-16 21:38
professionalOshtri Deka28-Jun-16 21:38 
AnswerRe: Windows Forms? Pin
koolprasadd28-Jun-16 21:40
professionalkoolprasadd28-Jun-16 21:40 
GeneralRe: Windows Forms? Pin
Oshtri Deka29-Jun-16 1:45
professionalOshtri Deka29-Jun-16 1:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.