是否可以创建便携式UWP应用程序(=无需安装)

时间:2016-03-06 09:02:10

标签: windows-runtime win-universal-app portability

UWP基础设施似乎拥有便携式模型所需的一切。

  • 操作系统和应用程序之间的明确分离
  • 明确区分不同的应用程序
  • 较少的依赖
  • 支持便携式类库

据我所知,目前不支持便携式方案。这是我们未来可以预期的事情,还是由于UWP / WinRT的架构而无法实现的内在

创建某种可以运行任何本地UWP应用程序的主机可执行文件有多难。目前我正在寻找不同Windows 10 PC之间的可移植性。与其说是交叉设备或交叉操作系统。

我知道你可以加载UWP应用程序,但这不是我想要的。

2 个答案:

答案 0 :(得分:3)

  

由于UWP / WinRT的体系结构,它是未来我们可以期待的还是内在不可能的

我没有看到任何会阻止这种情况的主要技术限制。 UWP应用程序可以注册到某些全局机制(这是便携式应用程序不应该做的事情),如推送通知或后台任务,但整个应用程序模型的设计使用户可以基于每个应用程序限制对这些功能的访问。因此,每个发布应用程序的开发人员都应该事先考虑过这些代码路径可能会失败。

但“技术上可行”并不意味着微软会这样做。事实上,我严重怀疑他们会不会。原因很简单:他们竭尽全力推动商店,甚至试图将Win32应用程序放在商店上。显然,他们正在向商店推出更多应用程序,而不是相反。

至于知道是否有可能成为第三方独立选手,我想是的。在运行UWP应用程序的单元测试时,Visual Studio正在启动一种托管应用程序的“shell”(最近它变得非常明显,因为在更新Windows 10之后,允许隐藏启动画面的API不再起作用了)。我不知道用什么API来创建这个shell,但如果我想制作一个可移植的UWP主机,我肯定会这样做。

答案 1 :(得分:1)

虽然我自己没有这样做(将在何时更新答案),但阅读regex module文章使得看起来有一种简单的方法可以创建一个调用该命令的安装程序。

简而言之,可以使用以下命令在本地安装appx包:

  

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

哪些可能包含在UI或CMD安装程序中。 this很好的例子(不是我的)。