Software online update

How do i allow my desktop software developed in automatically detect  updates online and also to do updates onlines
Anthony MatovuBusiness Analyst, MTN UgandaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Martyn SpencerSoftware Developer / Linux System Administrator / Managing DirectorCommented:
Though I am sure you could manage it yourself, you could well look for an installer that offers this facility. This would save you time reinventing the wheel. I use Advanced Installer for my installs - though I am not a developer. Check out to see if their tools could work for you. I believe they have a free version.
AndyAinscowFreelance programmer / ConsultantCommented:
automatically - you can't.  You would have to code something yourself.
Anthony MatovuBusiness Analyst, MTN UgandaAuthor Commented:
Would it be okay, if i post the updates on the website,  the desktop application will download the updated to the hard disk and then execute them to do the update. the updates can the be deleted.
Acronis True Image 2019 just released!

Create a reliable backup. Make sure you always have dependable copies of your data so you can restore your entire system or individual files.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I agree with Martyn in regard to Advanced Installer. It works very well, and has an automatic update feature.

You could have your desktop software check a website and compare versions, and then take action based on that. You could download the software and use the Process method to launch it, I'd think. The Advanced Installer update uses a web-based text file to read, and then compares it to local values stored in the registry. You could do something similar, I suppose.

What are you using for installation technology now? With most .NET apps, you use some form of installer, whether is something like AI or Click To Run, etc.
ste5anSenior DeveloperCommented:
As the others already wrote: Use a professional setup/installation tool.

Cause it is not only "This would save you time reinventing the wheel.", but it is much more about getting the security right. Avoiding that an attacker spoofs an update and gets his software on the client via your application is much harder then many developers expect.
Martyn SpencerSoftware Developer / Linux System Administrator / Managing DirectorCommented:
If you post updates on a web site, you still need code to handle the checking, downloading and installing of updates. You would want to put a system in place that signs your updates and you would need to ensure that your updater also verified these updates. You also need to consider that your users may have an IT team that controls installs and blocks applications self-updating. AV software may also see your update as a potential change and block it. Your code may have dependencies and a good installer would handle identifying and updating these as well.

For these reasons and more, a well-known commercial installer is recommended. They offer facilities that would take you a good deal of time to implement by yourself.

I'm not saying that you can't do it; just that it is not necessarily the best use of your time.
Chinmay PatelChief Technology NinjaCommented:
Hi Anthony,

I am not aware of the complete requirements that you have but your requirement look like a VERY STRONG candidate for ClickOnce Installation.

From Microsoft Documentation:

ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. Visual Studio provides full support for publishing and updating applications deployed with ClickOnce technology if you have developed your projects with Visual Basic and Visual C#.

And more importantly from:

ClickOnce can provide automatic application updates. A ClickOnce application periodically reads its deployment manifest file to see whether updates to the application are available. If available, the new version of the application is downloaded and run. For efficiency, only those files that have changed are downloaded.

When designing a ClickOnce application, you have to determine which strategy the application will use to check for available updates. There are three basic strategies that you can use: checking for updates on application startup, checking for updates after application startup (running in a background thread), or providing a user interface for updates.

In addition, you can determine how often the application will check for updates, and you can make updates required.

There are many benefits of ClickOnce not just the automated deployment in terms of application security and maintenance. While, it does add complexity it costs you nothing just properly planned development - keeping ClickOnce security requirements in mind.

Please have a look at ClickOnce before you go for any other commercial solution that will cost you a fortune. If you have any doubts/concerns about ClickOnce, please feel free to ask me.

Go with ClickOnce.It does all for you.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Anthony MatovuBusiness Analyst, MTN UgandaAuthor Commented:
i used click once
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.