Implementing Automatic Software Updates

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
Seamie_Asked:
Who is Participating?
 
Wayne Taylor (webtubbs)Connect With a Mentor Commented:
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
 
Wayne Taylor (webtubbs)Commented:
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
 
Seamie_Author Commented:
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
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
Wayne Taylor (webtubbs)Commented:
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
 
Seamie_Author Commented:
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
 
Wayne Taylor (webtubbs)Commented:
Have you tried getting the users to download the application and run it locally?
0
 
Seamie_Author Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.