The Kinetic Jump site navigation header requires JavaScript to be enabled and the latest version of the Macromedia Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by downloading here.

Welcome Guest Search | Active Topics | Log In | Register

Chained Update Process Options
brianh
#1 Posted : Thursday, May 29, 2008 10:50:23 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 362
Location: Minnesota

A customer recently requested an example of a chained update process implementation.

 

In the scenario where an application version 1.0 has an update available to 2.0, and 2.0 to 3.0, and so on, the desired update process from a version 1.0 client would be to download all of the available updates, then apply them all sequentially in one update process.  This would prevent the user from having to check for and apply updates multiple times to reach the current version.

 

Here is an example of such a process. The process is documented in source code comments.  Follow this procedure to build and run this example.

 

1. Download the attached zip file and unzip the contents to a folder.

 

2. Extract the C# Simple Quickstart from AppLife Make Update.

 

3. Copy the contents of the unzipped folder into your clean Simple Quickstart folder.

 

4. Modify UpdateController1.UpdateLocation to match the quickstart project update folder using the Form1 designer.

 

5. Set the UpdateController1.Version property to 2.0.0.0

 

6. Modify the AppLife Update project Add & Replace files action to include the new Simple.exe file you just built

 

7. Publish new updates.

 

Feel free to post any questions on this thread.

 

File Attachment(s):
Chained Update Example.zip (34kb) downloaded 40 time(s).
Brian Haas
Kinetic Jump Software
brianh
#2 Posted : Wednesday, June 04, 2008 6:43:06 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 362
Location: Minnesota

A few questions have been asked regarding this example and I would like to point out some things to help clear up a few misunderstandings.

 

With every update that you build with AppLife Update, you can define exactly which previous versions of your application can apply this update.  Some applications make every update package available to all previoius versions.  In this case, there would never be a need for chaining updates.

 

And some applications make breaks in the availablity with releases that include new support information such as help files and examples.  Breaks like this are usually done to decrease the update package file size.  For an update to be available for all versions or a range of versions, it must include everything that the lowest version that can apply the update package needs.  So usually, the decision to make an update available for only specific versions is based on file size and what can be excluded for newer versions.  For applications that update often and are published for only specific versions, this example presents a means to chain the updates together in a single unified process so that a new user installing your application from dated media, or infrequent application users can get all the updates in one process.

Brian Haas
Kinetic Jump Software
brianh
#3 Posted : Friday, November 12, 2010 9:33:55 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 362
Location: Minnesota
UPDATE

In AppLife Update 4.0, chaining updates is built in to the product.  To enable update chaining, set the Update Controller EnableAutoChaining to true.

When auto chaining is enabled, all available updates are are downloaded and applied in sequence during the normal updating process.

The UpdateFound event is still raised for each update in the chain, so that you can ensure proper licensing if necessary and prevent the update on specific clients for any reason.  Also, any update can be marked as not chain-able.

After the update check, all updates in the discovered chain can be accessed in code by using the Update Controller GetUpdateChain() method.

Brian Haas
Kinetic Jump Software
Users browsing this topic
Guest
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.