4

we are currently installing our Program by a wix-generated msi located on a network share. When a new version is ready, I am sending an email to everybody who needs the program. This is clumsy and creates a lot of problems - so I would like to implement some sort of update check. Is there a way to look at the msi and find the build number? Then I could compare this with my assembly version? Is there a good pattern to do this?

Christian Sauer
  • 10,351
  • 10
  • 53
  • 85

2 Answers2

3

There is a dormant project in the WiX toolset called ClickThrough that has update notifications built into it. Essentially, there is a small update.exe that looks at an "application syndication feed" (an ATOM feed with a little markup to describe the version information of the product) to determine available versions then looks at the local machine and figures out when a new version is available. You can see an example of the "application syndication feeds" in the WiX toolset feed for WiX v3.8 (or any WiX version really).

The WiX Bootstrapper Application has an even smaller implementation in src\Setup\WixBA\UpdateViewModel.cs but that version is based on the WiX bundle being installed (not what is already installed). You might find it useful.

If you want more details about "application syndication feeds" feel free to contact me. I have a spec somewhere that I need to update and post on the internet somewhere. :)

Rob Mensching
  • 33,834
  • 5
  • 90
  • 130
  • Hello, this looks interesting for bigger projects! Unfortunately, I am unable to create a Atom-Feed on our Internal Server due to some internal wrangling :( – Christian Sauer Apr 08 '13 at 07:56
  • Well, you could replace the ATOM feed with whatever way you want to get the current version on the internal server. In the WiX toolset we actually generate the .feed file during the build and copy it to the location with the installation package. – Rob Mensching Apr 08 '13 at 13:49
1

The recommended method is to use an updater specially designed for Windows Installer packages. A good, and free, option is the one used by Google for Chrome: https://code.google.com/p/omaha/

Bogdan Mitrache
  • 10,536
  • 19
  • 34