.NET simple application update mechanism

Environment:

  • .NET
  • FROM#
  • Visual Studio 2005 and
  • Some third party components
  • .vdproj files (setup projects inside Visual Studio 2005) for .msi building - not " ClickOnce deployment"

Problem

I am in the project phase where there are several updates for the project throughout the day. Since each change is small (no more than two assemblies), it would be convenient for the user to use some kind of automatic update that will be quick and hassle-free.

Sentence

I would like to make a simple system that will store my application files somewhere on my server, and also some XML file that will list their hashes. The desktop application will read the XML, compare the hashes, download the required files, restart the application, and the user will have a new version without even noticing it.

So my thoughts move on ...

The client application for him: simple, a day or two work. Considerations:

  • Have to take care of the permissions to write files to the user programs directory (in fact, I'm helpless if I can't)
  • You will have to start the update process, which will download and replace files and restart the original application.
  • On first launch, I need to create a local XML file with hashes, and for that I need a local list of deployed files that can change (since they are all not only in the local application folder)

The server side is trivial, but there are some considerations as well:

  • Root file with current version description, list of files and hashes
  • Manually upload files to the server, create tools for hashing files

Is there some tool that follows my trip to get it done without too much hassle from the outside?

+2


source to share


2 answers


Some solutions:

Updater App Block - Instructions on how to use it



.NET Client Applications: .NET Application Updater component

Appupdater

+1


source


What you are describing sounds exactly like ClickOnce . Yes. I noticed that you wrote that the application is installed via MSI and that is fine.



ClickOnce is more than just an initial setup. There are many options and you can configure it to check for updates even if the application is already running , as well as an API that you can use if the declarative approach is not enough for you.

+4


source







All Articles