0

I have been trying to find a way to do this and have found some things online (like this).`

Some explanations state that the application itself can't be running or else it can't update the .exe file it is running if it needs updating (as already running). For that I found an explanation to rename running .exe to be able to update this.

As per the title, the idea is to publish my very small and simple console app to a shared drive. this automatically creates an install file so the first it runs it installs on the computer for the person running the application, the idea is that every time it runs it should check the version matches the one on the shared drive and if it doesn't it will then update itself (maybe uninstall itself and reinstall using the setup file from the shared drive).

I am having problems finding any guides I can use for this, or an easy explanation that would help me find/learn different alternatives for this problem.

Muhammad usman
  • 521
  • 1
  • 3
  • 16
fireshark519
  • 175
  • 11

1 Answers1

1

To summarize you want to push updates to an executable that sits on a network share that users can leverage by visiting the specified directory, correct? You could review ClickOnce deployment to a UNC, however to your point this is something that will check each time the application starts and your intent is for users to run it from the network path. Alternatively I would suggest you look more into a Continuous Deployment option where you push code from your repository upon it passing necessary gatekeepers (CI, QA, etc.). You can run this at off hours to ensure all users are utilizing the most current production ready release.

Article on Continuous Deployment using Jenkins & .NET: https://blog.couchbase.com/continuous-deployment-with-jenkins-and-net/

David
  • 93
  • 1
  • 7
  • so with the continuous deployment I could theoretically run it to check what version is being used after publishing a new version and force update to all users? – fireshark519 Mar 26 '19 at 11:12
  • No need to "check". The premise of CD is that you are always pushing latest to the production environment. The application shouldn't need a safety net validation of being the latest version. You can set it up based on triggers in place of set times using Jenkins. So, upon a pull request being merged to your master branch you could have it push latest too. Personally not a fan of mid-day deployments unless there is a Hot Fix need. – David Mar 26 '19 at 11:19
  • I know I should have asked the Devs to show me how to use Jenkins before I left the support team :D. I'll take a look at Jenkins further for this, thanks! – fireshark519 Mar 26 '19 at 11:27