Windows应用商店应用 - 更新挂钩和触发器

时间:2017-06-04 12:52:25

标签: uwp windows-store-apps desktop-bridge project-centennial

(somehwat与thisthis相关)

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

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

我有两个半问题:

1)我将npm i中的设置存储为商店应用的虚拟化。可悲的是,当我从商店中提取应用程序更新时,似乎整个目录都已清除,因此所有用户设置都丢失了。有没有办法在应用更新中保持AppData

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

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

提前致谢。

随意发布更多答案。接受的答案虽然是正确的并且指向正确的方向,但仍然感觉很麻烦。在一个理想的世界中,有一个简单的解决方案,你只需def home(request): user = request.user small = user.username.title() cases = Case.objects.filter(users=user).order_by('-english') groups = user.groups.all() allgroups = Group.objects.all() suggestgroups = set(allgroups).difference(set(groups)) allusers = User.objects.all().exclude(username=user.username) if not user.is_superuser: user_ex = UserEx.objects.get(user=request.user) friendlist = FriendList.objects.get(user=user_ex) friends = friendlist.friends.all().exclude(username=user.username) friendrequest = FriendReqRecList.objects.get(user=user_ex) friendrequestsent = FriendReqSentList.objects.get(user=user_ex) friendrequests = friendrequest.friend_rec_requests.all().exclude(username=user.username) friendrequestsents = friendrequestsent.friend_sent_requests.all().exclude(username=user.username) nonfriends = set(allusers).difference(set(friends)) return render(request, 'intro.html', {'allusers': allusers, 'cases': cases, 'friendrequests': friendrequests, 'friendrequestsents': friendrequestsents, 'friends': friends, 'groups': groups, 'nonfriends': nonfriends, 'small' : small, 'suggestgroups': suggestgroups}) return render(request, 'intro.html', {'suggestgroups': suggestgroups, 'cases': cases, 'groups': groups, 'small' : small}) 。因此,鼓励寻找/构建更简单的解决方案。 (非常感谢 John Stephan Wick!)

1 个答案:

答案 0 :(得分:1)

要在为UWP或DesktopBridge应用部署更新时收到通知,您可以实施UpdateTask: docs / sample code

您还可以在运行时检查您的软件包的版本: 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应该在应用更新中保留。如果这不是您所看到的,请发布一个单独的专门问题,并提供重新制作详细信息,我们将跟进。

谢谢!