Copy Protection/Licensing Registration for Word Global Template?

Posted on 2013-12-19
Last Modified: 2013-12-19
I'm marketing a global template (.dotm saved in AppData...\Word\STARTUP) and would like to add some kind of protection so it can't be copied to additional machines without my knowledge.  Currently I have the file packaged in an .msi installer along with other files needed for the system to operate.  A client company will need to install this on several machines within their organization, but I want to limit their ability to give/resell it beyond their own company.  

I believe I can add licensing registration to my installer (I use Advanced Installer), but once the files are installed, I don't think that prevents someone from copying the files themselves.  Is there a package out there, or some VBA code I can add within the template itself that will bind it to the current machine so that it won't work if transferred to another machine?  I need to allow the client to install on as many machines as they need, but not be able to distribute beyond that.

Thanks for any ideas
Question by:versatilebb
  • 2
  • 2
LVL 76

Expert Comment

Comment Utility
This is a perennial problem. You can input some metrics of the PC (e.g. system disc serial number) into a hash process (e.g. MD5 with your own modification) at installation time and save it in the registry. This would be checked when the code is run.

The snag is that the process might be discovered. Also it might not survive hardware changes.

Author Comment

Comment Utility

Can you point me somewhere I can learn more about the "hash process (e.g. MDS with your own code modification)"?
LVL 76

Accepted Solution

GrahamSkan earned 500 total points
Comment Utility
MD5 is a well-known hashing algorithm. It will convert any text string into a 16 byte number. It is usually presented in Hex and is sometimes provided in that form as a key to unlock software, the provider having calculated it from some text that the customer has provided. For example, this is the key to the string 'alphabetic' from a free on-line provider:

Wiki has an article here.

If you Google for 'MD5 VB6', you will be able to find several sets of code that implement the algorithm. I just Googled 'MD5 VB' and got a .Net version which  seems to indicate that the algorithm is built-in to that platform.

By your 'own modification', I mean that you can garble the input in your own repeatable way, e.g. reversing all or some of the text, appending some fixed text or anything of that sort. It would then not be possible for the user to simply run the algorithm with their own inputs.

All this supposes that your code is protected. VBA code protection is thought to be weak. There are third party products that claim to work better. Otherwise you might want to provide the functionality in your template as a compiled add-in (needs VB6, .net or some other stand-alone development application)

Author Closing Comment

Comment Utility
Thanks, I'll have a look.

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Excel 2010 question 3 38
Formatting Problem within Excel 3 38
Excel VB Help 4 36
Index Match Vlook up for a master file 7 47
Microsoft Word is a program we have all encountered at some point, but very few of us have dug deep into its full scope of features, let alone customized it to suit our needs. Luckily making the ribbon (aka toolbar, first introduced in Word 2007) wo…
This article will show you how to use shortcut menus in the Access run-time environment.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

728 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

9 Experts available now in Live!

Get 1:1 Help Now