Solved

Implementing Automatic Software Updates

Posted on 2010-09-03
7
349 Views
Last Modified: 2012-06-22
Hello Everyone,

What is the best way to implement updating Software versions in VB .Net for software installed on client PCs rather than run across a network? I'm not aware of built-in mechanisms.

What I thought of was something along the following lines:

1. On load check for current version against version on Settings Table in SQL
2. If version number is less than that on Settings Table then run update program (to be written) and then end this program
3. Update program autoruns to delete existing software and install new version
4. Update program runs original calling software and then ends

It seems very messy but is it the only way?

Thanks in advance,

Seamie
0
Comment
Question by:Seamie_
  • 4
  • 3
7 Comments
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 33595976
There is an built-in feature that enables you to publish your application to a server (where your users can download it), and allow for easy updates.

ClickOnce - http://msdn.microsoft.com/en-us/library/t71a733d%28VS.80%29.aspx

Wayne
0
 

Author Comment

by:Seamie_
ID: 33596060
Yes, I've tried to use that but it only seems to work if the software is going to be run from that server. There are also problems with that process in that when the updating process is activated, it doesn't seem to save accessory files nor edit / create Registry Settings despite the access permissions being correct.
0
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 33596112
No, the software does not need to be run from the server. You can allow your users to download your application and run the app from their computer.

Any files you include with the deployment are also saved on the client. As for registry, I'm not sure I understand what you are referring to.
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 

Author Comment

by:Seamie_
ID: 33596421
I have accessory files and registry settings in the Deployment project. When the software is built and the Setup.exe and project.msi files copied to a memory stick and installed on each PC from there, the update process is flawless.

If the project is published to a shared drive and run from there, the installation goes fine but the accessory files and the registry settings are not completed.
0
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 33596445
Have you tried getting the users to download the application and run it locally?
0
 

Author Comment

by:Seamie_
ID: 33596643
No, but the publishing creates a web-page which the user can 'click' on to being the updating process. In the environment this software is being distributed, copying and pasting a setup program to be run from, say, the desktop isn't an option. IT skill are fairly basic. Hence the desire to automate this process.
0
 
LVL 47

Accepted Solution

by:
Wayne Taylor (webtubbs) earned 250 total points
ID: 33596736
If published correctly, the user need only click the button on the web page once. This will install the application on their computer and add shortcuts to "All Programs" and the desktop if desired. Then whenever the user starts the application, it will automatically check for updates and alert the user if one is available.

To enable this functionality, you simply need to ensure "The application is available offline as well (launchable from the Start Menu)" option is selected in the "Publish" tab of the project properties.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now