I am curious to know how you, experienced developers, handle the distribution of the updated programs to your clients.
This is how I am doing -- a bit cumbersome, but working:
This client company of mine is located in a different country. Whenever I write an update, I send this file to someone in this company. He will place the update in a certain folder on the server as instructed by me. By the way, he is the most computer literate guy in this company who even doesn't know how to move files on the server. Therefore, asking him to distribute the update to every user is a bit too much.
My program (FE) has a table that holds the version number. Each time the program starts, it compares the version number of the program (update) saved in this particular folder on the server with itself. If the updated program has a higher number, it prompts a message to the user, asking if the user wants to update the program. If the answer is yes, it triggers a program, Updater, again saved in a certain place on the server, and then quits itself. The Updater now takes over, deletes the program that sent the request, copies the updated version into where the original program was located, and then starts the new update before it closes.
Recently, I got a report from this guy who said the update halted so he had to force quit. It turned out that they upgraded Office to Microsoft 365 and this new Microsoft 365 had a bit more stringent security mechanism and a warning popped up during this update. He didn't realize there was a pop-up warning screen behind the program and thought the update was somehow in an infinite loop. All he had to do was to go to this warning screen and click "Open". Well, after all, they are my customers and thus they are kings! I have to anticipate all these big and small unexpected situations.
In an environment where you cannot expect clients to do any "sophiscated" procedures, how would you handle the distribution of your updates?
Thank you.
Shoji
This is how I am doing -- a bit cumbersome, but working:
This client company of mine is located in a different country. Whenever I write an update, I send this file to someone in this company. He will place the update in a certain folder on the server as instructed by me. By the way, he is the most computer literate guy in this company who even doesn't know how to move files on the server. Therefore, asking him to distribute the update to every user is a bit too much.
My program (FE) has a table that holds the version number. Each time the program starts, it compares the version number of the program (update) saved in this particular folder on the server with itself. If the updated program has a higher number, it prompts a message to the user, asking if the user wants to update the program. If the answer is yes, it triggers a program, Updater, again saved in a certain place on the server, and then quits itself. The Updater now takes over, deletes the program that sent the request, copies the updated version into where the original program was located, and then starts the new update before it closes.
Recently, I got a report from this guy who said the update halted so he had to force quit. It turned out that they upgraded Office to Microsoft 365 and this new Microsoft 365 had a bit more stringent security mechanism and a warning popped up during this update. He didn't realize there was a pop-up warning screen behind the program and thought the update was somehow in an infinite loop. All he had to do was to go to this warning screen and click "Open". Well, after all, they are my customers and thus they are kings! I have to anticipate all these big and small unexpected situations.
In an environment where you cannot expect clients to do any "sophiscated" procedures, how would you handle the distribution of your updates?
Thank you.
Shoji