Background:
As new updates or new applications come to light, they need to be installed on everyone’s machine in the company.
Problem:
It becomes a challenge to automatically install applications on everyone’s machine. At the time this was typically done using "Logon Scripts" that fire off after you log in. However, this would only work if the user was already on the network (not at home).
Solution:
The solution was to develop a small desktop application that would run at startup. The application would check to see if there was anything that needed to be installed, install them, and finally close. The application also needed to work in or out of the office.
Result:
I created a small VB.NET desktop application that would run at startup hidden, or you could run the GUI (viewable) version by launching the application from the Start>Programs. Since it needed to run in and out of the office, it uses a web service to check to see what updates are needed. How does it know which ones are needed? After the program installs the application it uses the web service to update a log that notes the application, logged in user name, and machine name. This was a application can be installed per machine AND user instead of just one or the other. If an application is needed, the web service sends back the folder name on a secure FTP site that contains all of the files that need to be copied to the local machine. It also passes the executable file name to run once it has finished copying the files. Applications that need to be installed can be assigned to certain users, groups, machines, or everyone. Also they can be flagged as "optional". Optional applications are not automatically installed via the hidden startup application and can only be install by manually kicking off the installation from the GUI version shown in Fig. 2. Another feature is the application has the ability to update itself.




