The way to handle multiple manifest downloads?

Topics: Updater Application Block
Jun 9, 2005 at 2:14 AM
originally posted by: LOGIKonline

I have worked my way through this block (not the easiest) and have working prototypes in place. My question is how do I handle if a client installs a fresh copy of my app - and multiple patches exist on the server. Is there a way to set the block to combine the file results from the manifests? It seems that it downloads all the mainfest and tries to write (in no particular order - which is frusterating) Should order of declaration take precendence? Should I resort to adding nodes to account for versions? Any community feedback is appreciated.

regards,
Dave
Jun 10, 2005 at 12:26 AM
originally posted by: AnuragRastogi

Hi ,
I would like to suggest you to follow the below mentioned steps to provide multiple updates on server available for download:

• Create separate manifest file corresponding to each update
• Create entry of each manifest file in the main manifest file (manifest.xml)
• Modify the manifestedId corresponding to the update which needs to be downloaded
• Use manifest editor to include the reference to all manifest files related to application update. The related manifest files should be included under the <includemanifest> Tag

For more information related to this you can refer to Updater Application Block v2.0 FAQs

(http://www.gotdotnet.com/workspaces/customization/uploadedhtmlpage.aspx?FileID=30079388-48f2-4e66-9a45-54fc7f84e806&id=83c68646-befb-4586-ba9f-fdf1301902f5).
Jun 11, 2005 at 1:43 AM
originally posted by: LOGIKonline

Hi,

I did as the documentation suggested - as I said before, I have it working but it seems to download all manifests with new installations. Let me recap:

1. I created a separate manifest for each update.
2. I added an entry in the main manifest - under the <includemanifest> node.

Now - here is where I am having issues - say the application is released (ver. 1.0.0.0) I publish 2 updates 3 weeks apart. (ver. 1.0.1.0) then (ver. 1.0.2.0) - now when a fresh copy (ver 1.0.0.0) is released, it sees an update exists. It begins to download - but the issue is the updater does not assume the latest patch is the only applicable update or it does not compare the files in each manifest to account for newer files.

The updater DOES install out of order at times in large number of updates (meaning many included manifests need a order of install or possible sort by version). Furthermore, the "WaitForProcess" by default seems to crash the application block - in instances where multiple (include)manifests require the step before completing install. Perhaps the addition of a attribute for the files requiring the shutdown.

The FAQs you publish on this site, seem valid for people hesitant to implement. Topics I would like to see in a FAQ:

1. How to address updating the updater block once released?
2. How to only install the latest manifest or a manifest up to a specific version number.

I suppose the Updater block would prefer I only install one manifest per version, having the version increment the manifest request.