Skip to main content

How to convert desktop apps to Universal Windows Platform apps with Desktop Bridge

On Windows 10, Microsoft is not only adding new features and making the operating system more secure, but it's also investing on making the Windows Store the single place for users to acquire apps.

The caveat with the Windows Store is that it doesn't include support for distribution of traditional desktop applications -- you're only able to download Universal Windows Platform (UWP) apps. However, Microsoft is making some changes, and now thanks to Desktop Bridge, we're slowly starting to see desktop apps and tools available in the Store.

What's Desktop Bridge?

It's all part of an initiative called Project Centennial, which now you know as Desktop Bridge. The new approach is essentially a "bridge" that let developers take traditional desktop applications and convert them into Universal Windows Platform (modern) apps.

The idea behind Desktop Bridge is that great apps take time and effort, and if they're already working, Microsoft doesn't want you to abandon that code. With Desktop Bridge, you can take your existing desktop application (Win32, WPF, and Windows Forms), make a little modification (if necessary), and bring that great code to the new platform, which can also take advantage of many new features.

The conversion is done using the DesktopAppConverter, which is a tool to automate the process (or at least most of it) to bring your desktop application built using .NET 4.6.1 or Win32 technologies to the new Universal Windows Platform (UWP). In addition, you can also publish the app in the Windows Store to reach millions of new customers, which is one of the reasons Microsoft wants you to convert your app.

How does Desktop Bridge works?

When converting an app, the tool runs the app installer inside of an isolated environment that uses a clean Windows 10 image. You can think of it as a lightweight virtual machine, which is used to capture file system I/O and registry keys generated by the desktop installer. Once the app is converted, you'll end up with an APPX package that you can quickly deploy to any computer running the 64-bit (x64) version of Windows 10 using a simple PowerShell cmdlet.

While Desktop Bridge is meant for developers, anyone (who is up to the challenge) can use the new tools and convert virtually any desktop application into a Windows Store app. This is because you don't need the source code — you only need the installer (the .exe file).

In this Windows 10 guide, we'll walk you through the steps to convert a traditional desktop application into a Universal Windows Platform app.

Things you need before converting an app

You'll need a computer running the Windows 10 Anniversary Update (build 14393 or later). Your computer must have a 64-bit processor, hardware-assisted virtualization, and Second Level Address Translation (SLAT).

It's important to note that you can only run the DesktopAppConverter on Windows 10 Pro or Enterprise. You can only convert applications with installers, and not portable apps. And you can only deploy converted apps to 64-bit machines.

Finally, you'll also need around 20GB of hard drive space, as the base image, developer tools, and the creation of the isolated environment will take several gigabytes. If you don't have enough storage, the process will fail, and it could take a lot of time to start over.

How to prepare your computer to convert apps

Once you have the required hardware and the latest version of Windows 10 running on your computer, you'll need to install and configure a few components.

Important: As usual, here is a friendly reminder to create a full backup of your system, which you can use in case something goes wrong and you need to roll back. This is a task also recommended for anyone who is not a developer but wants to try Desktop Bridge.

How to add Containers to Windows 10

While running the setup should install the Containers feature on Windows 10 automatically, there is a chance that this may not happen, as such you can enable this feature in advanced.

To add Containers, do the following:

  1. Open Control Panel.
  2. Click on Programs.
  3. Click on Turn Windows Features on or off.
  4. Check the Containers option.

  1. Click OK.
  2. Click Restart to complete the task.

How to install the Windows 10 SDK

You'll also need to have installed the Windows Software Development Kit (SDK) on your Windows 10 device, which you can easily do with the following steps:

  1. Download the Windows 10 SDK installer (opens in new tab) from the Microsoft support website.
  2. Double-click the installer.
  3. Leave the default location and click Next.

  1. Decide whether to participate in the Microsoft data collection program and click Next.
  2. Click Accept to get through the legal stuff.
  3. Make sure all the components are checked and click Install.

  1. Click Close to complete the task.

Roughly 2.3GB of files will be downloaded at this point, so it might take a while depending on the speed of your internet connection.

How to install and setup the converter and base image

After checking the minimum system requirements and installing the necessary components, it's now time to install and configure the DesktopAppConverter and the base image.

Note: The commands used in this guide to run Desktop Bridge should work on Command Prompt as well as on PowerShell. However, the tool has been designed to work on PowerShell, so to avoid problems you'll be better off using PowerShell.

  1. Download the DesktopAppConverter (opens in new tab) from the Windows Store.
  2. On the Store, click the Install button to get the app.
  3. Once the DesktopAppConverter installs, do not launch the app, just close the Windows Store and continue with the steps below.
  4. Visit the Microsoft Download Center (opens in new tab) to grab the latest Desktop App Converter base image.
  5. Click the red Download button.

  1. Select the .wim file with build number that matches the version of Windows 10 you have installed on your PC. For example, BaseImage-14393.wim, if you're running Windows 10 build 14393.
  2. Click Next on the support page to begin the download.

  1. If you don't know your current Windows 10 version number, use the Windows key + R keyboard shortcut, type the winver command on Run, and click OK.

  1. Open the Start menu and do a search for PowerShell.
  2. Right-click the app and select Run as administrator.
  3. Type the following command and press Enter:Set-ExecutionPolicy bypass
  4. Enter the letter A and press Enter to continue.

  1. Now it's the time to set up Desktop Bridge with the base image, and to do that type the following command:DesktopAppConverter.exe -Setup -BaseImage C:\PATH-TO-IMAGE\BaseImage-1XXXX.wim -VerboseImportant: You must change "XXXX" on the name of the base image to the number of the image you downloaded and remember to specify the path to the location of the image. For example: DesktopAppConverter.exe -Setup -BaseImage C:\Users\admin\Downloads\BaseImage-14393.wim -Verbose.The below image shows an example of the complete command.

  1. Restart your computer if prompted. Then PowerShell will open automatically to complete the setup after the reboot by expanding the image to prep the isolated environment.

Once the setup completes, you'll end up in the root directory of the DesktopAppConverter. In my experience, it works better if you continue with next set of instructions while in the root directory of the converter. At least for the purpose of this guide, leave PowerShell open and continue with the instructions below.

How to convert desktop apps to Windows Store apps

Congratulations! You made it this far, and now it's the time to have fun. After setting up the converter, you can proceed to convert your traditional desktop app into a Universal Windows Platform app.

For this guide, I chose to convert the popular Notepad++ desktop app, which you can always download and use from the official site. Of course, you can always try to use your own application or another installer.

Quick Tip: It's important to download the app installer in its own folder, as the converter will copy all the files from that location to the isolated environment.

To convert a desktop app into a modern app, do the following:

  1. If you don't have PowerShell already open, bring up the Start menu and do a search for PowerShell.
  2. Right-click the app and select Run as administrator.
  3. Type the following command and press Enter to convert the app:DesktopAppConverter.exe -Installer C:\APP-INSTALLER-PATH\APP-NAME.exe -InstallerArguments "/S" -Destination C:\APP-CONVERSION-OUTPUT\APP-NAME -PackageName "APP-NAME" -Publisher "CN=PUBLISHER-NAME" -Version 0.0.0.1 -MakeAppx -VerboseWith this command we're invoking the DesktopAppConverter and passing several arguments. The -Installer switch is used to note the location of the installer. The InstallerAgument "/S" allows to run the installer in silent mode inside the isolated environment, which let the converter record the install process without user interaction.Then the -Destination switch notes the location the converter will output the final project files. And the rest of the parameters will define the identity of the app, such as package and publisher name, and version number.Remember that you must update the command line with the appropriate information for your application and paths. Here's an example: DesktopAppConverter.exe -Installer C:\Users\admin\Downloads\npp.7.Installer.exe -InstallerArguments "/S" -Destination C:\Users\admin\Downloads\NotepadPlus -PackageName "NotepadPlus" -Publisher "CN=NotepadPlus" -Version 0.0.0.1 -MakeAppx -Verbose

The DesktopAppConverter will then kick in and begin the conversion process, which can take a while depending on your system.

How to install a converted app on Windows 10

Once the process completes without any red flags, you'll end up with a project folder that contains a file with a .appx extension.

The final step will be to install the converted app on your computer and to do this you'll need to use PowerShell.

To install an APPX application on Windows 10, do the following:

  1. Open Start menu and do a search for PowerShell.
  2. Right-click the app and select Run as administrator.
  3. Type the following command and press Enter to convert the app:Add-AppxPackage -Path PATH-TO-APPXFILE\AppxManifest.xml -RegisterRemember to replace "PATH-TO-APPFILE" for the path of your AppxManifest.xml file, whic is inside of the ProgramFiles folder, inside the project output folder. For example, Add-AppxPackage -Path C:\Users\Admin\Downloads\App\PrograFiles\AppxManifest.xml -Register.

At this point, PowerShell should install the converted modern app on your computer. You can then launch the app like with any other app from the Start menu -- it'll even show up in the Recently Added list.

Here's Notepad++ converted and running on Windows 10

Wrapping things up

It's worth pointing out that after converting and installing, the app will run on your computer like any other app. However, for developers at least, this is just the beginning. If you want to take advantage of the new platform fully, you still have to customize other aspects of the app, such as some visual elements like the app icon, sign the package, and incorporate other specific features available in the new app model like notifications, Live Tiles, Action Center, and more.

For more information, you can also visit this Microsoft support site (opens in new tab).

What do you think about Desktop Bridge? Tell us in the comments below.

More Windows 10 resources

For more help articles, coverage, and answers on Windows 10, you can visit the following resources:

Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he's a recognized member of the Microsoft MVP community.

74 Comments
  • Not Universal. This is a lie. Can I run in the W10M or XBOX?
  • UWP apps are basically anything on the Store regardless of how they got there. Some apps rely on win32 extensions e.g. these apps and since your phone is is ARM based, well, unless there is magic in this world you can get from one to the other. However, Centennial is a BRIDGE that creates hybrid apps. It gets developers down the path of a native Windows 10 app by letting them mix APIs between Win32 and UWP. Eventually, the goal is to get developers from Centennial to a native Windows 10 UWP app, but that (a) will take time and (b) requires Microsoft to build out the UWP functionality to mimic fully desktop apps. You must also remember UWP is not a consumer term it's a developer one. UWP is not for consumers although they can benefit from it. UWP is for developers and its limitations concern them, not you. Univeral refers to the libraries for developers, not the ability for the app to run anywhere. That is an important distinction that you are very much missing.
  • You're right. Apparently MS has redefined what UWP means (it's not an API and/or runtime, which is what it would strictly refer to if it was actually a term by and for developers). From a developer's perspective the term is rather ridiculous, as it means an "UWP app" can use no part of the UWP API and runtime whatsoever, but still be called an UWP app based only on the deployment mechanism. Of course, MS can define the terms they use however they please, so ultimately its hard to argue against it. Still, it's somewhat akin to saying that everything sold at Walmart will henceforth be called a wall-o-majigg. It doesn't matter if it's a sock, a skateboard, or a tent. Because it's sold through a Walmart store it's a wall-o-majigg. For a developer who knows what's going on under the hood that is what this sounds like. I suspect the idea is to inflate the number of apps MS can "legitimately" call UWP apps. Calling what the desktop bridge does "app conversion" is, as always, also highly misleading. That's of course not WCentral's fault, since it's again MS' own terminology. MS has no qualms repeatedly contradicting themselves on that very topic however. For example, in this article, after mentioning "app conversion" a dozen times, MS goes on to state: "Your code is still the same, it's just packaged differently". That makes it absolutely clear that the software is actually not converted in any way, shape or form. It's a shame that what MS would like people to think about the desktop bridge is so much more important than clearly explaining what it actually is. The desktop bridge would more accurately be described as an APPX wrapper generator. Not sexy, but far more accurate. I understand why you report the way you do. At the same time, when MS does such a miserable job of explaining what is actually going on, it would be nice if you guys explained it better. As it stands, 90% of the people reading this will come away with a completely false impression of what this actually does.
  • Agreed 100%, as a developer I find the term UWP to be an annoying misleading misnomer as well.
  • Thank you!!!!
  • How are people still too thick to understand this?
  • They understand, they want to stir the pot, cause FUD, and generally push people away.
  • For a lot of people I would agree with you, but there are some that I think are just plain stupid.
  • I can see that, never underestimate the stupidity of people.
  • Not. They said in some presentations in the past saying UNIVERSAL runs everywhere. Now it changed
  • Actually no, no they didn't, and unless you can provide the exact presentation saying it, then you've got nothing. They state the universal platform allowes one to build an app that can be a single esperience across all devices. Only a moron would believe otherwise. How would you expect an app to access a cellular signal on Xbox, or access a webcam on a machine without one. It's a set of UI elements that is universal, and a set of instruction sets that (if you build from scratch and use only those sets) that are unversal. It was never stated that onces an app is classified as a UWP it would automatically run everywhere.
  • @FearL0rd, no they have not. You just misunderstood what UWP means. Part of this is Microsoft's fault too and I propose a solution that I'll publish tomorrow. For now, however, you are wrong about your assertions and you won't find any developer to back you up on it.
  • Dev here. Daniel is right. I will point out, however, it has never been communicated clearly by Microsoft and continues to have a very confusing name. Microsoft really botched this one.
  • This thing changed, I remember the first presentation @w8.1 times.
  • @Rafael Rivera It's not an inherently difficult topic to grasp, but yeah, it's hard to imagine MS isn't deliberately trying to confuse people. It's certainly not engineers that are coming up with MS's terminology here. I just wish WCentral did a better job clarifying what MS can't.
  • How are people still too thick to understand that FearL0rd is at least making a good point? He may not be technically correct about it being a lie, but only because MS defines an "UWP" app in a way that has absolutely no relationship to its technical underpinnings. Basically, we're now calling some software packages UWP apps, despite them not calling a single UWP API and being entirely independent of the UWP runtime. If you don't find that at least somewhat questionable, at least from a technical perspective, I'd say you're drinking too much of MS' cool-aid.
  • This is the problem. Fanboys needs to stop with this and see the truth. Okok I'm not here anymore. APPV package modified to UWP is universal. I'm convinced
  • Years ago I had an iphone 1. He GF at the time had a PPC MacBook, while Intel MacBooks had just been introduced. Apple had "universal" apps, programs that would run on both PPC and Intel CPUs. They were "universal" but only ran on Macs. Today there are "universal" apps on the Apple Store, but they only run on iPhones and iPads, but not Macs. Why is it that Apple is not called a liar since those apps don't run on a Mac? 
  • Because apple did not ever claim that their apps are UNIVERSAL,  and never claimed they would run on EVERY Device like Microsoft has.....big difference.   That was the whole point of UWP and Universal apps...There was supposed to be one OS (not true)...and Universal apps that can run on everything (also not true)!
  • https://msdn.microsoft.com/en-us/windows/uwp/layout/design-and-ui-intro Perhaps you should do some reading first.
  • I'd appreciate it if you'd drop the condescending tone. You're not the only person here with a deeper understanding of software technology than the average consumer. Anyway, I'm familiar with that page. What's your point? It discusses UI issues which are unrelated to the topic at hand.
  • I have a very deep understanding of software development, I have written code for applications that have sold multi-millions of copies. You probably use software that I have written. So I would appreciate it if you would drop your condescending tone, and understand that you are wrong.
  • You don't really know what the UWP platform is, do you? ;)
  • Universal Windows Platform (UWP), is a platform-homogeneous application architecture created by Microsoft and first introduced in Windows 10. The purpose of this software platform is to help develop Universal apps that run on both Windows 10 and Windows 10 Mobile without the need to be re-written for each.
  • So you can copy and paste off a website, did you read it, do you understand all the words? I'll give you a hint, the key words in there are help develop. 
  • I'm done. "APPV package renamed to appx" is universal app. This is where it came from.
  • FearLord,  no sense and try to get a windows fanboy to ever see the truth brother!
  • Spoken like a true irrelevant Google boy. :)
  • Google boy? I work with Microsoft since u in diapers. MSCE, MCSD, 2 MBA, etc...   It is all Microsoft fault not brading stuff properly and change things in the middle without renaming.  this guy is explaining it here https://youtu.be/mGv-F-_hfEI?t=60
  • Right... That is a very hard statement to make.
  • Right... That is a very hard statement to make.
  • It would be universal if you're using the London bridge, and not the Brooklyn bridge to do the conversion. Using the Sydney Harbour bridge or the San Francisco Golden gate bridge could also make it ubiquitous. LWKD...
  • Is this too little too late? I hope not yet I fear it may be.  I think that way the landscape is it will take HP with the X3 and Microsoft with the Surface Phone to really really push the enterprise space (If Microsoft do not really really push in that area I will never forgive them especially after withdrawing from the consumer side) If (and I think they will) succeed in delivering great hardware into IT departments then lots of UWP apps will appear, as it stands today the market share for mobile is 1%, no ones going to go through that trouble, not unless they see great things happening in enterprise which will of course spill over to the consumer side naturally like the Blackberries did. 
  • No. Microsoft has a brand problem. It's so big they will never make it in the consumer market with ANYTHING. They only product with some success is the Xbox. But why? It is advertised as xbox and the name Microsoft is very absent in every ad. They should have done the same with mobile. No Microsoft branding. And Jesus Christ... No 'Windows' in the name. Windows 10 mobile is the worst name ever.
  • You can't seriously believe what you said. over 90% market share in PC OS is not success? Aslo literally every single Xbox ad has a microsoft logo on it.
  • YOu can't seriously believe that windows 10 has 90 percent of the PC market can you?
  • I never said windows 10 had 90% I said Windows. The dope I was replying to suggested the only success Microsoft has is with the Xbox, I provided a counter point.
  • "It is advertised as Xbox and the name Microsoft is very absent in every ad." Have you SEEN any of the Xbox ads? It literally says Microsoft front and center at the end of EVERY SINGLE ONE!
  • He's right tho, a generation of people associate MS with blue screens and frozen computers, and the new generation only think Apple or Google.
    Surface and Xbox are great brands because MS is in the background.
    Love them or hate them the MS brand has an image problem and they need to focus much more on their products and less on their name.
  • Convert the Kodi app from windows 10 pc to universal app to use on windows 10 mobile
  • Hope it'll get there. Give it some time.
  • I used the Desktop App Converter before to install Telegram as a UWA, but stupid me forgot about installer arguments, and I used a converter to change the installer to a silent installer.
  • It's a way for lazy developers to get apps into the Store. If they simply convert without taking advantage of UWP features (notifications, live tiles etc) then there is no point doing it. It's almost as lazy as Web wrapper apps which are utterly pointless Posted via the Windows Central App for Android
  • I'm guessing you have 0 business sense.
  • Your comments are simply pollution, sorry. Posted via the Windows Central App for Android
  • yep. little modified appv package now is universal...
  • Actually even if not a single change is made it is still brilliant, have you any idea how much crap comes to your PC just installing a single traditional desktop app? Converting to this model stops all of that, if you want to uninstall right click in start and press uninstall and it is gone forever, nothing left behind. Installing and uninstalling apps that way does not reduce PC performance over time and helps keep everything running nice and smooth. If developers tale advantage of Windows 10 features or not it makes no difference to me as if an app is available in the store as an appx there's no other place I'll ever download/install it from again.
  • I have been doing this with APPV since SoftGrid created it. Nothing new. JUst a little mod to use appx format
  • App-V and Desktop Bridge do use similar techniques, but shouldn't be considered the same. App-V apps, for example, don't give apps identity, which is critical to participating in the UWP ecosystem and use the modern APIs.
  • Not true. By simply doing a straight conversion, developers will gain access to a number of very helpful Store features like analytics, telemetry, flighting, and updating. Users also get the ability to do a true uninstall thanks to the virtualized registry and file system locations.
  • Great guide. Unfortunately the only Desktop Bridge app I've tried, Tweeten, BSODs my PC on launch. 
  • Presume you've already seen https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-known-issues#blue-screen-with-error-code-0x139-kernelsecuritycheckfailure
  • Nope, 1st time seeing that. Thanks for the link, bud! It's still awful that a feature being trumpeted by MS crashes stable build machines. That's pretty bad QA tbh. And I say this as someone who runs Windows 10 on 3 machines and has bought into the ecosystem with an Xbox One S. 
  • The title of this article is misleading.  You aren't converting desktop apps to UWP apps.  They become "Store Apps" - in a package that can be downloaded from the windows store.  This has nothing to do with UWP.  And you won't be able to run them on mobile or xbox.
  • Sigh, no, your misunderstanding of what UWP is is the issue here. Read my comment above. UWP is about the libraries for developers, not if it can run everywhere. They are called UWP Bridges for a reason. Here is how Microsoft even teaches devs about the tech.
  • it is sequenced similar to appv. this doesn't do any help to devs port the apps.  
  • Except you might also be misunderstanding this Daniel (not saying you are, I just can't really tell). You're absolutely right that "UWP is about the libraries for developers" (at least partially). It's just that apps repackaged by the desktop bridge don't necessarily use any of those libraries. They bypass them to the exact same degree they did before repackaging... i.e. often entirely.
  • UWP apps is just a term, any app on the Windows Store is referred as a Universal Windows Platform app.
  • now days yes..
  • Daniel is correct, it's a common mistake (with no help from Microsoft here). Also, careful -- Store Apps refer to old Windows 8.x apps.
  • So this is the process to convert exe to uwp. For suppose if I convert a wpf exe to uwp, the whole source code remains same right? If yes is there a way to use uwp features like cortana and live tiles?
  • Yes. The point is Centennial apps can (a) be on the Store with a unique ID and (b) they can leverage some features of Windows 10 like notifications, automatic updates, Cortana, Live Tiles, and more.
  • Thanks.. So its all there in the app model but not in the source code. I will try on a sample app soon to get more idea
  • Universal.. but no...
  • If this works to get developers to eventually change their apps to be hardware agnostic that's great but I fear that Microsoft has finally given up mobile and therefore is not far from being out the mindset of most users. I just had an employee excited to get to devices for their store saying, 'The ones we have are so old they still run Windows." Desktops are losing relevance to more mobile platforms and Microsoft is hurting badly on this front. Even if developers adopt this new architecture I fear it will mean nothing if Microsoft can't succeed, at least in part, in mobile. Focusing on enterprise doesn't the fact that even enterprise customers prefer familiarity.
  • lets see. I think the developers will be using this forever without porting it into a real UWP to run everywhere. Only the future will tell us.   ENTERPRISE we do APPV with SCCM and have similar results.
  • Ho hum... this does absolutely nothing in regard to being hardware agnostics, because despite what the title suggests, no part of the actual application is converted in any way.
  • The title is correct, I suspect you're getting hung up on the "Universal" in Universal Windows Platform, which is a common error.
  • No. I'm not getting hung up on universal. I suspect you haven't understood the issue being discussed. The question: "can the Desktop Bridge contribute to making an existing app hardware agnostic" My answer: "no" (because the desktop bridge doesn't actually change one bit of the software that is executed at runtime) To that you added: "likley getting hung up on the term universal" ... your comment doesn't seem related to the discussion in any way.
  • I've managed to convert a rather large wpf application to an bridged one, manually without use of DAC and have to say that it works nicely. However the next step should be deploying this app to the MS Store. Here Microsoft has a lot to gain by enabling at least te possibility to publish converted apps. Otherwise, why bother.
  • You can do this today, though it requires manual work and vetting by Microsoft. You can let them know you're ready via https://developer.microsoft.com/en-us/windows/bridges/desktop
  • I've heard the saying that ' you can't teach and old dog new tricks' but how about 'teaching people how to learn and understand how things for and their respective differences. I think some of the focus of the arguements above seem to stem from the belief that UWP app can run across any platform i.e  Win10, Win10m, Xbox ect but no understanding how inherantly difference these ecosystems are regardless how different they are at the core. Not reading something fully is one thing, not taking the leap to learn, understand and create are another. There are so many benefits to developers and consumers that many fail to see, want to see or believe but making to whole experience enjoyable for all concern is a bonus but time has to be invested by developers for consumers to enjoy the fruits of their labour. I'm not a developer by any stretch of the imagination and i can already see the benefits and one thing i like above all is a one-stop-shop i.e Windows Store. Hopefull gone are the days of using multiple locations for apps/drivers/tools etc, i want to see other companies have their own place on the Windows Store as well.
  • Deploy Internaly SCCM + APPV works better.  
  • Google boy? I work with Microsoft since u in diapers. MSCE, MCSD and 2 MBA.