What is the best way to update a file on customers' computers (or servers)?

Posted on 2009-04-01
Last Modified: 2013-11-13
We have proprietary software that expires periodically.  Most of our customers get software renewals once per year,  but there are some that receive shorter renewals.  Currently when it is time to renew the "key" we distribute it via email or ftp to each customer (~100k file, in self-extracting ZIP, with instructions for placement on their server; all users must be logged out of our software to overwrite file).

We have considered a couple different ways to automate the renewal process.  I am trying to find the BEST way.  Our software may be installed on a Windows server, on the user's local drive (less common; if there is only user in the office) or on a Terminal Server (in a few cases).  We determine the location of the software from the INI file on the user's workstation.  

I'm looking for an ideal solution to this, that will work for ALL environments.  Should users log on to our web server and have it somehow check to see if it needs a renewal, and then install the correct one?  If so, how would that work?  Or is there a program that should be installed on a user's workstation (similar to Windows Update) that should log on to an FTP at regularly scheduled intervals, to check for updates?  

I need whatever solution we have to fully work in all situations, including T.S., and properly update / replace the renewal file.
Question by:aaepa
  • 3
  • 2
  • 2
  • +1
LVL 12

Accepted Solution

nealerocks earned 168 total points
ID: 24041907
You could assign the update in Active Directory. This would give all users access to it. It would not matter if they were working on local workstations or Terminal Servers.

This link provides some information on assigning apps through Active Directory:


Author Comment

ID: 24042020
I'm not sure if this would work for clients that are in different companies, though.    Our customers are in different law firms all over the country, which is why we need to find a solution that fits all.  
They do not all log on to a common server because they are not linked in any way to each other.  We are a Membership-based organization, and our customers are "Members" of our organization.  They use our software, which is installed on their computers (typically on their Windows server, occasionally on a Term. Svr in their office, and occasionally on a workstation on their office if there is only one user).  
LVL 12

Expert Comment

ID: 24042153
Well you could deploy the software to each server, or use management software like Kaseya to manage all your clients. (Quite expensive though) But if you have varying clients of different sizes all over the place then you probably can't have one centralized was of pushing out these updates. FTP or email might be the best bet.
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

LVL 10

Assisted Solution

Korbus earned 166 total points
ID: 24044855
how about this method

Create an https site for your companies distribution server.
  on this https server, create a folder for each of your clients, with indicidual authentication
Create a script/program on your clients server.
This script/program will get the new file via https.   You will need to modify each client's script differently (https path. username, password)- or have that info in a seperate file on the client's server.  Once it has the update, the script can overwrite the old file by looking at the .ini file, which should be stored on the same computer as this script/program.
Schedule the script for whenever using windows schduler.

You can put whatever file you want in that clients update path, or none if they dont renew.


Author Comment

ID: 24050482
This seems like a lot of work and it would be almost as time-consuming as what we are doing manually.    We would need to keep track of each office that downloads their files so that we are absolutely certain all offices get renewed.  If their software expires, it is very bad for them and we need to "fix" their database, which causes downtime for them and additional support requests for us.  
ALL: we have a total of of approximately 110 "Member" offices, each with unique logins to the web server.  
LVL 40

Assisted Solution

by:Vadim Rapp
Vadim Rapp earned 166 total points
ID: 24168795
Write server application that will be generating the key online. When client application has two weeks (for example; can be any other interval) until expiration, it tries to log on to the centralized server (yes, one centralized server just for this purpose - independent of the member services. Currently, you do do it in centralized manner, don't you, so it's the same way, only done by the computer). It authenticates, then server application generates the key file and it gets downloaded. You probably already have some application that generates these key files anyway, so you just need to put it on the server.

Server application will also allow for easy tracking who has downloaded the file and who did not.

If client application fails to download new key file, it issues warning to the user, who then must call support and obtain the file in some alternative way.
LVL 40

Expert Comment

by:Vadim Rapp
ID: 25182522
delete, no refund. We made suggestions, but he already had his own, and was looking for the best one.

Author Closing Comment

ID: 31565429
This wasn't quite what I was looking for but did help.  Thak you.

Featured Post

Portable, direct connect server access

The ATEN CV211 connects a laptop directly to any server allowing you instant access to perform data maintenance and local operations, for quick troubleshooting, updating, service and repair.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Windows Update 22 219
VB.NET 2008 Publish Error 2 34
Batch File- Finding Drive Description 11 20
S1200BTL GPUs 2 19
this article is a guided solution for most of the common server issues in server hardware tasks we are facing in our routine job works. the topics in the following article covered are, 1) dell hardware raidlevel (Perc) 2) adding HDD 3) how t…
Learn about cloud computing and its benefits for small business owners.
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

820 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