0
votes

Is windows store(windows 10) allow only delta update or we can update in some other way?If we have an app in windows store(windows 10) and I downloaded it in my machine.After some time update is available for that app and i have updated the app.Now, I want to verify weather it follow delta update or it replaces the entire application with the new one. How can i verify it?

2
Maybe ask this question on Windows 10 store support forum ? - Martin Verjans

2 Answers

0
votes

Is windows store(windows 10) allow only delta update or we can update in some other way?

You can select Generate app bundle always or if needed when creating app packages to implement delta update. App bundle uses a different manifest to contain the resources packages. Thus with app bundle, users only download the relevant files, rather than all possible resources, especially when your app includes language-specific assets.

To make users download the whole package, you can choose Generate app bundle never. But please note once your app is published as appxbundle, you cannot go back to non-appxbundle format. This time you can try method in this article to ensure your resources will surely be installed on the users' devices, which is for Windows 8.1 but still works to UWP app.

And since the version 1607, we can use the API in Windows.Services.Store to programmatically check for package updates for the current app, download and installed the updated packages.

Now, I want to verify weather it follow delta update or it replaces the entire application with the new one. How can i verify it?

Firstly, your package need to contain the language-specific assets or a variety of image-scale assets, making sure to include the language not supported by your device or image-scale not equipped with your device. You need to generate an app bundle while creating package. After downloading the update, you can check if your local package contains the resource package not needed.

0
votes

Apart from choosing the right languages, image sizes from the App Bundle as mentioned by Mattew Wu, UWP supports delta updates (or differential updates) automatically. Check out more in this blog post in MSDN blogs.

A "AppxBlockMap.xml" is automatically created at the time of packaging, which is

an XML document that contains a two dimensional list of information about files in the package. The first dimension lays out high level details on the file (e.g. name and size) and the second dimension provides SHA2-256 hash representations of each 64KB slice of that file (aka the “block”).

So, the Store update compares this file from both the packages and downloads only the required parts.

I don't think you will be able to check the size of the delta package that will be downloaded, but there are a few methods that you can follow to make sure that your app supports delta updates

  1. Keep files in the package small – doing this will ensure that if a change is needed that would impact the full file, the update would still be small.
  2. Modifications to files should be additive if possible – additive changes will ensure that end-user devices only download those changed blocks.
  3. Modifications to files should be contained to 64KB blocks if possible – if your app does have large files and requires changes to the middle of a file, containing changes to a set of blocks will go a long way

Refer the aforementioned blog post for more detailed explanation.