Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to create a portable UWP app (=no installation needed)

The UWP infrastructure seems to have everything what's needed for a portable model.

  • Clear separation between os and application
  • Clear separation between different applications
  • Less dependencies
  • Support portable class libraries

As far I know portable scenario's are not supported right now. Is it something that we can expect in the future or is it intrinsic impossible due the architecture of UWP/WinRT

How hard would it be to create some kind of host executable that can run any local UWP app. At the moment I'm looking for portability between different Windows 10 PC's. Not so much cross device or cross OS.

I'm aware you can side load UWP apps, but that's not what I'm looking for.

like image 948
Mumblic Avatar asked Mar 06 '16 09:03

Mumblic


2 Answers

Is it something that we can expect in the future or is it intrinsic impossible due the architecture of UWP/WinRT

I don't see any major technical limitations that would prevent this scenario. UWP apps can register to some global mechanisms (which is something portable apps shouldn't do), like push notifications or background tasks, but the whole application model has been designed so that users can limit access to those features on a per-application basis. So every developer publishing an app is supposed to have considered beforehand that those code-paths may fail.

But "technically possible" doesn't mean that Microsoft will do it. In fact, I seriously doubt they ever will. The reason is simple: they're pushing the store with all their might, even seeking to put Win32 apps on it. Clearly, they're moving towards putting more apps on the store, not the other way around.

As to know whether it'd be possible to make a third-party standalone runner, I think so. When running unit tests for an UWP app, Visual Studio is launching a sort of "shell" hosting the app (it has become very apparent recently because after an update of Windows 10, the API that allowed to hide the splashscreen wasn't working anymore). I don't know what API is used to create this shell, but I'd definitely dig that way if I wanted to make a portable UWP host.

like image 167
Kevin Gosse Avatar answered Oct 17 '22 21:10

Kevin Gosse


Although I haven't done this myself (will update answer if and when), reading this article makes it look like there is an easy way to create an installer that calls that command.

In short, an appx package can be installed locally using the command:

C:\Program Files (x86)\Windows Kits\10\bin\x86\WinAppDeployCmd.exe

Which can probably be wrapped in a UI or CMD installer. Here's nice example of it (not mine).

like image 22
Shimmy Weitzhandler Avatar answered Oct 17 '22 20:10

Shimmy Weitzhandler