Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Copy Protection/Licensing Registration for Word Global Template?

Posted on 2013-12-19
Medium Priority
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:Bryce Bassett
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 76

Expert Comment

ID: 39729567
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

by:Bryce Bassett
ID: 39730328

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 1500 total points
ID: 39730473
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

by:Bryce Bassett
ID: 39730649
Thanks, I'll have a look.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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

New style of hardware planning for Microsoft Exchange server.
Microsoft has changed the look and feel of Azure AD and Microsoft account sign-in pages so that you will have a more unified look and feel when moving between the two interfaces.
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …

618 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