Software Update:Checking For Updates: Difference between revisions

no edit summary
No edit summary
 
No edit summary
Line 1: Line 1:
Update Service
The Update Service:


- checks for updates to the application on a background timer
* checks for updates to the application on a background timer
- provides a means for the user to check for updates to the application
* provides a means for the user to check for updates to the application
- provide a set of controls for determining update behavior
* provide a set of controls for determining update behavior


The Update Check
= The Update Check =


1. generate update service URL
# generate update service URL
2. determine if updates are available
# determine if updates are available
3. determine action
# determine action
4. download patches
# download patches
5. verify patches
# verify patches
6. install patches
# install patches


The Update Service URL
= Update Service URL =


- needs to incorporate data in these dimensions:
The Service URL needs to incorporate data in these dimensions so as to reduce the complexity of the processing on the client side:
  - app name
* app name
  - app locale
* app locale
  - app version
* app version
  - app buildid (for distinguishing between nightlies on a  
* app buildid (for distinguishing between nightlies on a "tester" build stream for example)
    "tester" build stream for example)
* app buildtarget
  - app buildtarget


e.g.  
e.g.  


  /firefox/1.0.3.20050414/i586-pc-msvc/en-US/update.xml
<tt>/firefox/1.0.3.20050414/i586-pc-msvc/en-US/update.xml</tt>


The Updates File
=The Updates File=


update.xml is an XML file that tells about available updates. It is formatted
update.xml is an XML file that tells about available updates. It is formatted
like this:
like this:


<tt><pre>
<?xml version="1.0"?>
<?xml version="1.0"?>


Line 48: Line 48:
   </update>
   </update>
</updates>
</updates>
</pre></tt>


The application should provide a preference setting that can be set to hold
The application should provide a preference setting that can be set to hold
Line 84: Line 85:
The update.xml file for the 1.1.1 user might look something like this:
The update.xml file for the 1.1.1 user might look something like this:


<tt><pre>
<?xml version="1.0"?>
<?xml version="1.0"?>


Line 106: Line 108:
   </update>
   </update>
</updates>
</updates>
</pre></tt>


And for the 1.1.4 user like so:
And for the 1.1.4 user like so:


<tt><pre>
<?xml version="1.0"?>
<?xml version="1.0"?>


Line 123: Line 128:
   </update>
   </update>
</updates>
</updates>
</pre></tt>


So the user of 1.1.1 will have the 1.1.2, 1.1.3, and 1.1.4 patches
So the user of 1.1.1 will have the 1.1.2, 1.1.3, and 1.1.4 patches
Line 131: Line 138:
This implies that the database that manages all of this version information
This implies that the database that manages all of this version information
has to know that some updates can only apply to certain version (ranges).
has to know that some updates can only apply to certain version (ranges).
Extensions
* eventually move EM updating fully into EM
525

edits