dotnet / deployment-tools

This repo contains the code to build the .NET deployment tools and installers for all supported platforms, as well as the sources to .NET deployment tools.
MIT License
163 stars 50 forks source link

Clickonce - conditionally updating update location #284

Open statler opened 1 year ago

statler commented 1 year ago

This is a bit of a fishing expedition here as I am trying to understand if this is possible, and if so how I might start investigating. We have an app that is updated from a central location. We also have a series of Clients, each with their own azure app services. We are wanting to move our installer so it is updated from each Client's app service rather than just having one installer for all Clients. We would then deploy our app automatically to each Client's app service. Obviously this enables us to deploy early versions to Client's with specific bugfixes etc. without affecting the general environment.

I know it is possible to change the deployment location after deployment by just updating the property between updates. Is it possible to conditionally do this - e.g. update the manifest client side based on a database setting, thus rewriting the UpdateUrl with an updated location? I think technically this should be OK as it doesn't change the ApplicationId

jeffschwMSFT commented 1 year ago

@statler is this related to .NET Framework? For .NET Framework, our Visual Studio developer community is the best way to get questions like this answered.

https://developercommunity.visualstudio.com/home

ghost commented 1 year ago

Tagging subscribers to this area: @dotnet/area-meta See info in area-owners.md if you want to be subscribed.

Issue Details
This is a bit of a fishing expedition here as I am trying to understand if this is possible, and if so how I might start investigating. We have an app that is updated from a central location. We also have a series of Clients, each with their own azure app services. We are wanting to move our installer so it is updated from each Client's app service rather than just having one installer for all Clients. We would then deploy our app automatically to each Client's app service. Obviously this enables us to deploy early versions to Client's with specific bugfixes etc. without affecting the general environment. I know it is possible to change the deployment location after deployment by just updating the property between updates. Is it possible to conditionally do this - e.g. update the manifest client side based on a database setting, thus rewriting the UpdateUrl with an updated location? I think technically this should be OK as it doesn't change the ApplicationId
Author: statler
Assignees: -
Labels: `question`, `area-Meta`, `untriaged`, `needs-area-label`
Milestone: -
statler commented 1 year ago

No this isn't about .Net framework, this is about .Net 7 clickonce deployment.

jeffschwMSFT commented 1 year ago

Thanks for clarifying. I think this may need to go to winforms repo. But adding @leecow and @merriemcgaw to see who can best help out.

leecow commented 1 year ago

@NikolaMilosavljevic may have an idea.

NikolaMilosavljevic commented 1 year ago

@statler my understanding is that you would like to modify the deployment manifest of the app, on user's machine - i.e. in ClickOnce store (cache). Is that correct? I'm not sure if ClicKOnce runtime would see this as an app integrity violation, but it might technically work only if manifest is unsigned. We do not recommend deploying unsigned apps.

cc @Tanya-Solyanik