What you need to know about distributing and updating licensed software

By Mike Wozniak  |  SoftwareKey System Product Tips

Posted:  April 17

Once your application is protected with the SoftwareKey System, there are really no limitations on how you initially deliver the software to your customer's computers. One of the most commonly asked questions has to do with installing subsequent updates (patches) and new versions of your software (both minor and major), which we will discuss in this post.

Using an Installation Utility

You will typically install some type of installation utility on your development workstation to build a package used to deploy your software onto a new computer. There are many free and commercial installation utilities available, some using a visual interface for configuration and others that require writing a script file. Once the installation file is created, you can transmit the protected application via any form of physical media (CD/DVD, thumb drive) or electronic medium (email, web site, online storage services).

How you deliver the software and how you update the software doesn't change how our licensing works, since the software will look at license files in external locations, unaffected by the installation utility.

Automating Software Downloads using SOLO Server

For customers who have a license to use your software, there are Electronic Software Delivery (ESD) features available in SOLO Server with a lot of power and control. You first upload the software and configure the ESD settings. When the customer receives their license, they log into the Customer License Portal and click on the Downloads. They will see a list of licensed software and the option to download, with the following capabilities:

  • You can control the number of days the user is allowed to download. This can be tied to their software maintenance period.
  • For valid licenses, the user can automatically download a single file or a ZIP/EXE file containing multiple files.
  • The user can be required to accept an End User License Agreement (EULA) before being able to begin the download process.
  • For expired download periods, the user can be prompted to purchase a software maintenance renewal for immediate access to the download again. Charging for software maintenance can help increase your revenue.
  • All downloads are logged, including the file downloaded, the IP address of their network, and even the version number downloaded, which can be very helpful for support personnel.
  • For more complicated download business requirements, SOLO Server can integrate with external download pages that you host or even customized download pages that Team SoftwareKey creates for you through professional services.

As a side note, you can reduce support costs by keeping your customers updated to the latest version of your software using a SOLO Server included feature to notify the customer when a new version is available. An example update notification dialog for your application can look like this:

Protection PLUS 5 SDK version 5.15.4.0 update dialogue

Maintaining Activated Licenses During Software Updates

The installation file used to upgrade your software can take any approach:

  1. Complete in-place upgrade of the software, including all files.
  2. Uninstall / reinstall of the software (the uninstall process can be triggered automatically by the new installer).
  3. Patch the computer by only updating the changed files.

As long as the new version of your software's source code or wizard settings uses the same license file names, locations, and encryption key data, and the installer doesn't modify these external files during an upgrade or patch, installing the updated version of your software should run without requiring re-activation.

What if I Want to Require Activation on a Major Version Release?

All you need to do is change your protected application to use different license file names, locations, and encryption key data in the source code or wizard project settings. If the customer has Version 1 installed and activated on their computer, then later installs Version 2, re-activation will be required because Version 2 is using completely different locations for the license files.

Should I Remove the License Files During Uninstallation?

Most installation utilities will add your software application to the list of installed software in the Windows Control Panel. The customer can use this Windows feature to remove your software. Depending on your business requirements, you may or may not want to have your uninstallation process remove the license files from the computer. Removing the license files will likely require your software to be re-activated if they choose to re-install the software. For computers which are connected to the Internet, it is even possible to have the uninstallation utility automatically and silently deactivate this computer's license with SOLO Server, freeing up this activation for a new computer to use.

Summary

The SoftwareKey System has many features for automating the deployment of your software, and you have control over when customers should be required to re-activate when updating the software.

If you have questions about deploying your software when using the SoftwareKey System, feel free to contact us.

About the Author

Mike Wozniak is the founder of SoftwareKey.com and responsible for marketing, content and product strategy. When he isn't plotting new ways to help customers solve licensing and business automation challenges, he likes to travel and entertain guests who come to visit the Orlando area.

Mike Wozniak


Tags


Related Posts

SOLO Server 1.20.1.0 Release with support for Dynamic License Validation Options and License Grouping!

SOLO Server 1.20.1.0 Release with support for Dynamic License Validation Options and License Grouping!

SOLO Server 1.19.1.5 Released with New Support for Consumption-Based Licensing and More!

SOLO Server 1.19.1.5 Released with New Support for Consumption-Based Licensing and More!
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>