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
- Build application and store new release into Application Files Repository/Folder
- Get parties that should be updated (config file, database what ever)
- 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?