RunTime Only Project


robbudge

Recommended Posts

We are currently working on a control system for a local OEM.

we have a concern that there is nothing stopping our customer copying the project file, and buying a license.

for future projects.

we have designed both the Hardware & the Software.

is it possible to protect the project file so it cant be simply be copied and placed in another location on a licensed machine.

Link to comment
Share on other sites

That is a problem with any software, and its a trade off between protecting yourself and not completely inconveniencing your customers with fancy software locks. The key to most software locks is some sort of unique identifier. Soft locks like DAQFactory uses use a unique number generated by various parameters of the computer that its running on. Our hard key is simply an encrypted device that holds the license and can't be duplicated. Since you created the hardware, I'd look at doing one of two things:

1) serialize the hardware (even if its just the MAC address) and use that as a key for a software lock.

2) put the license in the hardware itself, so the application won't run without a piece of hardware that has been licensed to use the software.

Link to comment
Share on other sites

Two files is always a bad idea. Its hard to maintain. Even when customers do networked DAQFactory I recommend creating one file and using a startup flag to specify whether its a client or server.

Anyhow, what I'm recommending is that you use a combination of the document editing password, and a serialization lock. The serialization lock keeps the app from running in runtime mode unless the hardware exists, and the editing password keeps someone who owns the hardware from editing the document (and presumably removing the serialization lock).

So with the two methods I mentioned:

1) in this case, you get a unique number for the system. To unlock the software, the customer tells you this unique number, you do some fancy math on it to generate another number that the customer enters. The document takes this number and reverses the math to get that first system unique number. You store the unlock key in the registry and check this every time. This is largely how DAQFactory does its soft-licensing, but with some extra stuff to prevent against real hackers. My guess is that you won't have any real hackers.

2) in this case, you can create a couple modbus values (or whatever protocol you are using) that hold the key. When you ship the hardware you set unique values into these registers and only if the hardware has these values does it work. You'd want the values dependant on each other so each piece of hardware would have a different set of numbers. This method requires less customer interaction, but requires you to set the license in the hardware. You could also simply serialize the hardware and use method #1 and that serial #.

The final choice is to use a dongle like the DAQFactory hardware key option, but in my opinion is somewhat over kill.

Link to comment
Share on other sites

  • 2 years later...

Dear sir ,

Our project is reached at final position .Now i want to lock that project .Actually lock means any other person can't make any changes for example any other person can't changes the sequence,component position etc .Can i make toolbar is invisible? or can i lock it ?

Link to comment
Share on other sites

Go to File - Document settings and give your document a Document Editing password. I recommend random characters and punctuation. Don't forget it! This will cause anyone opening the document with a development version of DAQFactory to be immediately placed in Runtime mode. They can't switch out of runtime mode without the password.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.