deployment problem

Topics: Updater Application Block
May 9, 2005 at 7:03 PM
originally posted by: WeiFa

Hi,

Can anybody advice me how to deploy the updater, or if there's any link for the deployment scenario.

Should the updater installed seperately or should it be included in my application installer? I have read help doc and search the web with no luck.

Here is an issue i encountered, from what i understand, if the manifest ID of the server is different from that of the client, or if client doesn't have UAB folder, meaning no updates have yet taken place. That means, if i'm deploying the updater on client, when the updater runs for the very first time, it will check for updates on the server at the URI specified in the application configuration, and since there's no UAB folder exist, the updater will always determine there's new updates for client and the user is given the option to install them. What if the current version of client is the first version and there's no update available? Can anyone advice me how to resolve this?


Thanks in advance.
May 9, 2005 at 11:48 PM
originally posted by: AnuragRastogi

Hi ,

yes updater should be included in the application installer .

for the another issue i would suggest you to go through with the following understanding of the procedure for checking the update -

Call Stack for Application using Updater Block-

ManifestApplied()<-PopulateValidManifestList()<-GetValidManifests()<-GetManifests()<-CheckForUpdates().

ManifestApplied () check whether the manifest has already applied for that it check for the manifest file with manifested and with the extension .appliedmanifest. In your application folder. If this file exist this means updates already applied or it's being applied if there's an associated task related to the manifest.

for the stated scenario you can follow the following approch-

Initially there is no need to put any manifest file on server. If client will check for any update it will check for manifest file and in this case it will through the System.Net.WebException which will be catch and we can display “no updates are available” message.
Now when any updates are available put the manifest file on server with that update information and with new Manifest ID.
May 10, 2005 at 4:49 PM
originally posted by: WeiFa

Hi AnuragRastogi,

thanks for your advice.
It's surely an easy way to fix my problem. Again, thanks.
Oct 14, 2005 at 12:11 PM
originally posted by: Anverc

What happens when the user starts with your program and version 1.1+? Then they will be required to update as soon as they install the latest version.

I'm dealing with the same problem right now - Wondering if you found a solution yet or not.
Oct 15, 2005 at 9:18 AM
originally posted by: WeiFa

Hi Anverc,

If I understand you clearly, you're asking how to avoid having 'duplicate' updates for the latest release.

Since ManifestApplied() will check manifest file on server whether the manifest has been applied on client, you could pack UAB folders (which store associated tasks related to the manifest that has been applied) along with the installer. When the updater checks for the latest manifest, no updates will be need to be applied since the latest files of applied manifest already exist in your application folder. This is probaly the simplest solution.