更新我的Windows Store应用[复制](Updating my Windows Store

2019-10-19 07:25发布

这个问题已经在这里有一个答案:

  • 如何删除文件和应用数据容器值一气呵成? 1个回答

我想更新我的Windows Store应用,但我需要在应用程序的本地状态的文件夹中删除的所有内容:

C:\Users\usr1\AppData\Local\Packages\myApp\LocalState

我不熟悉的Windows更新Store应用和过程的正式文件没有说明如何清除就好像应用程序是重新安装的文件夹。

我在想,如果我不得不用手工来完成(使用App的版本号),或者是否有执行它的一个自动化的方式。

Answer 1:

首先,让我给一点背景。 按照设计,应用数据通过安装应用程序的更新保存。 这样做的原因是,你的状态(应用程序数据)的版本通常是由应用程序本身的版本,一个单独的问题。 也就是说,一个应用程序可以1.3版本和4.1之间去仍然使用相同的应用程序的数据结构。

该应用数据的版本是通过Windows.Storage.ApplicationData.SetVersionAsync(设置http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.setversionasync.aspx )。 如果这主要事项是漫游数据,因为该版本标志决定了漫游数据的不同副本在云中被保留。

现在,在你的情况你谈论本地应用程序数据,而不是漫游,在这种情况下,您可以使用SetVersionAsync,或者你可以简单地维持在一个应用程序的数据版本号设置自己。 对于您的情况(这听起来像清理出各种各样的高速缓存),使用自己的设定可能会更好,因为如果/当你使用漫游状态下,你不会有与每一个应用程序的更新来改变应用程序的数据版本。

如果你有自己的版本号,然后,只需简单地用更新的应用程式,以检查什么版本,你不想发扬。 如果该版本存在,然后调用ApplicationData.ClearAsync(ApplicationDataLocality.Local)(见http://msdn.microsoft.com/en-us/library/windows/apps/hh701425.aspx )。 您可以拨打ClearAsync与无参数明确的地方,温度,和一起漫游。

如果由于某种原因,你都可以迁移的,而不是重建状态,那么您可以使用该版本号检查需要迁移的内容。

另一种方式来做到这一点是使用一个后台任务与ServicingComplete触发。 一种用于该指南是在这里: http://msdn.microsoft.com/en-us/library/windows/apps/jj651556.aspx 。 你基本上只是有后台任务调用ClearAsync像以前那样和/或迁移的状态。



文章来源: Updating my Windows Store App [duplicate]