Manage ClickOnce releases for different parties

Posted by Dirk Beckmann on Programmers See other posts from Programmers or by Dirk Beckmann
Published on 2014-04-25T17:35:03Z Indexed on 2014/05/26 22:01 UTC
Read the original article Hit count: 416

I'm struggling with release management of a piece of software. First some general information:

  • It is a ClickOnce application
  • I follow the release often practice
  • There are about 30 parties served with this software
  • I need full control which update will be delivered to which party
  • Not each party is allowed to get the latest update/release
  • Each party has multiple clients that are all allowed to get the latest update, served for the specific party

So that's what my requirements are in a rough description. So let me explain what I was thinking about how to solve this.

  • I would like to create a "deployment" website (asp.net) that will handle all the requests
  • There are two endpoints one for download the client and one where the client checks for updates
  • So each party has a separate endpoint like DeploymentSite/party1 and another for DeploymentSite/party2
  • The Application Files should still be stored centralized

So I thought it would be manageable with mage.exe with the following steps

  1. Build application and store new release into Application Files Repository/Folder
  2. Get parties that should be updated (config file, database what ever)
  3. Run mage.exe to create a new application and deployment manifest for each party in the update list with new Application File Location (1.0.2)

Actually I'm really struggling with this mage.exe staff. I can't create the appropriate files with the needed codebase.

How to handle thes requirements?

© Programmers or respective owner

Related posts about c#

Related posts about deployment