I developed a vb.net application with VS2008. This application is used by more than 20 people in the company. I needed a way to be able to install updates of this app automatically. So I deploy it through ClickOnce. The ‘Install’ folder for this app is on a server and available through the network. Whenever someone start the app, it checks for an update. If there is one, the user is asked to install it.
Before choosing the ClickOnce solution, I consider other alternatives. I noted 3 solutions:
- ClickOnce, as described above.
- Classic ‘Setup’ installation files and install the executable on the local computer.
- Classic ‘Setup’ installation files and install on the server so everyone use the same “shared” executable.
I think solution 3 is the worst because whenever I need to install an update, everybody must leave the app before I can overwrite actual files with the update (otherwise the files are locked because executable is running by someone). I don’t have this problem with the ClickOnce solution because the executable is still installed on the local computer the the user.
My question: am I right? Do I miss other solutions?
Thanks for your advises.
I think ClickOnce is probably your best option here as option 2 will require an msi installation which cannot be easily updated without third party tools and option 3 will have locking issues as you described.
If you have a Windows Domain then your network admin could setup a Group Policy Object to deploy the software automatically but this is more work and not standard practice. ClickOnce is the way to go from your description.