tl;dr:是否有某种针对通过 Windows 应用商店分发的桌面桥转换应用程序的更新 Hook ?如何从转换后的应用触发应用更新?
我使用 Windows 应用商店来分发我的电子应用程序。我想知道有没有办法判断应用程序最近是否更新过?
我有两个半问题:
1) 我将设置存储在 AppData\Roaming
中,这对于商店应用程序来说似乎是虚拟化。可悲的是,当我从商店中提取应用程序更新时,似乎整个目录都被清除了,因此所有用户设置都丢失了。有没有办法在应用更新时保留 AppData?
2) 如何从转换后的应用中触发应用更新?据我了解,商店不会自动更新应用程序(即使它被标记为 mandatory )。必须启动 VS 并编写一个使用某些商店 API 来更新应用程序的 exe 似乎有些过分了。有没有更简单的解决方案?
2½) 我如何知道我的应用程序是否已更新?我考虑过将应用程序版本存储在设置中,并将其与应用程序启动时运行的版本进行比较。但由于我的问题 1) 这不起作用。
提前致谢。
欢迎发布更多答案。被接受的答案虽然是正确的并且指出了正确的方向,但仍然感觉很麻烦。在理想的情况下,会有一个简单的解决方案,您只需 npm i
即可。因此,鼓励寻找/构建更简单的解决方案。 (非常感谢 John Stephan Wick!)
最佳答案
要在为 UWP 或 DesktopBridge 应用部署更新时收到通知,您可以实现 UpdateTask: docs/sample code
您还可以在运行时检查包的版本: https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.packageversion
您的应用将自动获取更新,但我们不会在用户运行您的应用时更新它。如果应用程序进程继续运行,我们最终将强制更新它,但前提是屏幕锁定。您还可以从代码中检查是否有可用更新并采取相应措施: https://blogs.msdn.microsoft.com/appinstaller/2016/11/11/developer-controlled-app-updates/
您的应用数据应在应用更新后持续存在。如果这不是您所看到的,请发布一个单独的专门问题并附上重现详细信息,我们将跟进。
谢谢!
关于uwp - Windows 应用商店应用程序 - 更新 Hook 和触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354305/