WPF/E Plugin Update: how does it work?

Michael Schwarz on Monday, December 25, 2006

Today I had a look on how the WPF/E plugin will check if there is a new update available. Would it be in Windows Updates or is there any automatic update done?

Every web page that will include the WPF/E plugin will run a request to following web page:

http://go.microsoft.com/fwlink/?LinkId=78239 [1]

This request will redirect to a download web page where we get status information about the current WPF/E plugin version:

http://download.microsoft.com/download/1/4/0/1405c083-c01c-489e-a533-0681738ba016/WPFEUpdate0800Soft.html [2]

The content of the second requests returns following html code:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd [3]"><html xmlns="http://www.w3.org/1999/xhtml [4]" xml:lang="en">

<head> <META HTTP-EQUIV="expires" CONTENT="Wed, 06 Dec 2007 08:21:57 GMT"> <title> WPF/E Status </title> </head>

<body> <Setup> <Version VersionNumber="0.8.0.0"/>

<Action ActionType="Soft"  MACURL="http://go.microsoft.com/fwlink/?LinkId=7823599 [5]" WINURL="http://go.microsoft.com/fwlink/?LinkId=7823499 [6]

DialogText="A newer version of 'WPF/E' is available. You will be redirected to Microsoft to obtain the newer version."/> </Setup>

</body>

</html>

With Fiddler [7] I tried to change the response and  put in VersioNumber="0.9.0.0" and I got a small dialog box showing me that there is a new update available and that it will redirect you to the download url which is included as Windows and MAC version. I clicked on ok, but it was not redirecting, so, maybe this is not yet working correct. But I like it and found it useful to post about it.

Update: Microsoft is using following information when downloading the plugin: "WPF/E (codename) will periodically ping Microsoft.com to verify its integrity (at which point the only information that will be communicated will be your IP address and the module version)." What does periodically mean? Currently I only see this http request when starting a new web browser instance.