2

(somehwat 与thisthis相关)

tl;dr:对于通过 Windows 应用商店分发的桌面桥转换应用程序,是否有某种更新挂钩?如何从转换后的应用触发应用更新?


我使用 Windows 应用商店来分发我的电子驱动应用程序。我想知道是否有任何方法可以判断该应用程序最近是否更新?

我有两个半问题:

1)我存储了AppData\Roaming似乎为商店应用程序虚拟化的设置。可悲的是,当我从商店中提取应用程序更新时,似乎整个目录都被清除了,因此所有用户设置都丢失了。有什么方法可以让 AppData 保持在应用更新上?

2) 如何从转换后的应用程序中触发应用程序更新?据我了解,商店不会自动更新应用程序(即使它被标记为强制)。必须启动 VS 并编写一个使用某些商店 API 来更新应用程序的 exe 似乎有点矫枉过正。有没有更简单的解决方案?

2½) 我如何知道我的应用程序是否已更新?我考虑将应用程序版本存储在设置中,并将其与应用程序启动时的运行版本进行关联。但由于我的问题1)这不起作用。

提前致谢。


随时发布更多答案。接受的答案,尽管是正确的并且指向正确的方向,但仍然感觉很麻烦。在一个理想的世界中,会有一个您只需npm i. 因此,鼓励寻找/构建更简单的解决方案。(非常感谢约翰斯蒂芬威克无论如何!)

4

1 回答 1

2

要在为您的 UWP 或 DesktopBridge 应用程序部署更新时获得通知,您可以实现 UpdateTask: 文档/示例代码

您还可以在运行时检查您的包的版本: https ://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.packageversion

您的应用会自动获得更新,但我们不会在用户运行您的应用时对其进行更新。如果应用程序进程继续运行,我们最终会强制更新它,但仅限于屏幕锁定时。您还可以从代码中检查是否有可用更新并采取相应措施: https ://blogs.msdn.microsoft.com/appinstaller/2016/11/11/developer-controlled-app-updates/

您的 appdata 应该在应用更新中保持不变。如果这不是您所看到的,请发布一个单独的专门问题,并附上重现的详细信息,我们将跟进。

谢谢!

于 2017-06-05T16:44:24.890 回答