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.
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.

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.


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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Dell OpenManage 8.3 Windows 10 2 125
Dell E4300 9 89
Installshield for Embarcadero EX 10.1 Berlin 4 14
INTRODUCTION The purpose of this document is to demonstrate the Installation and configuration of the Data Protection Manager product. Note that this demonstration was prepared on the basis of Windows OS is 2008 R2 and DPM 2010. DATA PROTECTI…
Ever notice how you can't use a new drive in Windows without having Windows assigning a Disk Signature?  Ever have a signature collision problem (especially with Virtual Machines?)  This article is intended to help you understand what's going on and…
Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…

932 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now