deployment - reiniciar - Actualizando mi aplicación de la tienda de Windows
porque no se descargan las aplicaciones de la tienda de windows 8 (1)
Esta pregunta ya tiene una respuesta aquí:
Me gustaría actualizar mi aplicación de Windows Store, pero necesito eliminar todo en la carpeta de estado local de la aplicación:
C:/Users/usr1/AppData/Local/Packages/myApp/LocalState
No estoy familiarizado con el proceso de actualización de la aplicación Windows Store y la documentación oficial no aclara cómo puedo borrar la carpeta como si la reinstalara.
Me preguntaba si tenía que hacer esto a mano (usando el número de versión de la Aplicación) o si había una manera automática de hacerlo.
Primero déjame dar un poco de información. Por diseño, los datos de la aplicación se conservan durante la instalación de las actualizaciones de la aplicación. La razón de esto es que las versiones de su estado (datos de la aplicación) suelen ser una preocupación separada de las versiones de la aplicación en sí. Es decir, una aplicación podría ir entre las versiones 1.3 y 4.1 y seguir usando las mismas estructuras de datos de la aplicación.
La versión de los datos de la aplicación se establece mediante Windows.Storage.ApplicationData.SetVersionAsync ( http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.setversionasync.aspx ). Donde esto primordialmente importa es con los datos de roaming, ya que esta marca de versión determina qué copias distintas de los datos de roaming se conservan en la nube.
Ahora, en su caso, está hablando de datos de aplicaciones locales, no de itinerancia, en cuyo caso puede usar SetVersionAsync, o simplemente puede mantener un número de versión en una configuración de datos de la aplicación usted mismo. Para su escenario (que suena como borrar una especie de caché), usar su propia configuración es probablemente mejor, porque si utiliza el estado de itinerancia no tendrá que cambiar la versión de datos de la aplicación con cada actualización de la aplicación.
Si tiene un número de versión propio, simplemente, escriba su aplicación actualizada para verificar la versión que no quiera transferir. Si esa versión existe, llame a ApplicationData.ClearAsync (ApplicationDataLocality.Local) (consulte http://msdn.microsoft.com/en-us/library/windows/apps/hh701425.aspx ). Puede llamar a ClearAsync sin argumentos para borrar locales, temporales y de itinerancia, todos juntos.
Si por algún motivo tiene un estado que se puede migrar en lugar de reconstruir, puede usar ese número de versión para verificar lo que necesita para migrar.
La otra forma de hacerlo es utilizar una tarea de fondo con el desencadenante ServicingComplete. Una guía para eso está aquí: http://msdn.microsoft.com/en-us/library/windows/apps/jj651556.aspx . Básicamente, simplemente tienes la tarea de fondo llamada ClearAsync como antes y / o migra el estado.