Learn how to a build a cloud-first strategyRegister Now


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

Posted on 2009-04-01
Medium Priority
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 672 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.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 10

Assisted Solution

Korbus earned 664 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 664 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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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…
Monitor input from a computer is usually nothing special.  In this instance it prevented anyone from using the computer.  This was a preconfiguration that didn't work.
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …
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…
Suggested Courses

810 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