Search code examples
c++.neteclipse-rcpauto-updatep2

How to Implement a Homogeneous Tool Update System?


My task is to define and implement a homogeneous update system for all tools of a big organization.
The various tools have grown over many years and are implemented in many different technologies and languages.

For the Eclipse/RCP based tools the equinox/p2 mechanism seems to be perfect and easy to implement.
But what to do regarding e.g. the .net/C# tools and the C/C++ tools? p2 seems to be tailored for RCP applications.

I like to have a common/uniform update repository for all tools. Any ideas/thoughts?


Solution

  • Use the tools you already have.

    The eclipse repository format should be easy to generate (eg, via some task you could integrate to your CI server.)

    For the .net applications, clickonce is a solution. There are frameworks out there, like googke's ohama http://code.google.com/p/omaha/ for dealing with applications update

    You could build your owns tools, it's basically files download & replacement. It can get nasty if you have to deals with the UAC thought.

    Having only one repository seems difficult. But you could build a tool to generate the needed formats (equinox/p2, clickone, etc)

    Building a server and update tools yourself could be time consuming, avoid it unless you have a really good reason to do so. A build server, some scripts on the top of git repositories (or something like that) and an open source framework should do the job.