I am trying to come up with a simple solution to people who "borrow" my software from a friend. I would like to have a 30 day period for trial use, then stop anyone from reinstalling the program again unless there is an unlock code.
Any recommendations

Strategies for Stoping non customers from using my software
Elv
Second, we're using Cryptor to encrypt key tables so that certain fixed information can't be modified if the application is copied onto someone else's machine.
The main goal for this client was to cut down the labor involved in distributing and updating the app, while still preventing casual theft. We took the attitude that those determined to steal the application would never pay for it anyway, so the targets of our efforts are the folks who don't realize that it's not okay to share.
Tamar
Sid #.net
CodeOptimist
i ve 2 questions
(1)Sir i haved developed an application on Visual Basic programming, i need a security that if i sold it out, i will give it a numbers of days or month that it will not work again expect if they contact me for the upgrade
(2). how can i protect my software that pepple will not be able to copy or write it again without my key permission
VinuM
This is a Visual FoxPro forum. To ask specific questions on VB, depending on the version, you can try here:
VB Express:
http://forums.microsoft.com/MSDN/ShowForum.aspx ForumID=159&SiteID=1
VB.NET:
http://forums.microsoft.com/MSDN/ShowForum.aspx ForumID=32&SiteID=1
VB6:
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=551512&SiteID=1
jborland
Don,
You will probably get better answers as I am a corporate developer, therefore I do not deliver or sell software.
That said, here's my $.02:
You could limit the number of records on each table to say 10 or 50 until software is unlocked.
You could use a hardware dongle (more expensive solution).
You should record some feature of the machine it was intended to run in, such as MAC address. Downside is what happens when they upgrade boxes or network cards Do they contact you for reactivation
If possible you should require activation through internet. Therefore, they would have to login) or the program would to send a key and request an activation key from your website.
You can see a free sample of an Authentication Code app in VFP by Greg Reichert.
in the UT as Download #26815 (AuthCode.Zip)
http://www.universalthread.com
(free login required)
Whatever means you use (registry key, ini file, hidden file somewhere), make sure you use strong encryption for the key.
See:
http://fox.wikis.com/wc.dll Wiki~CopyProtection
http://fox.wikis.com/wc.dll Wiki~RetrievingHardwareInformation
Encryption:
http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,db662a8f-d47c-46c8-b0d2-a591c20d024b.aspx
http://fox.wikis.com/wc.dll Wiki~CryptoAPI
Sivya
Forgot to mention, one way to get the MAC Address is something like this (may not work depending on OS):
Clear
cBox = Alltrim(Left(Sys(0),At("#",Sys(0))-1))
oQuery = GetObject("winmgmts:\\"+cBox)
oAdapters = oQuery.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
FOR EACH oAdapter IN oAdapters
IF oAdapter.IPEnabled
"Caption="+Transform(oAdapter.Caption)
"IPAddress="+Transform(oAdapter.IPAddress[0])
"MACAddress="+Transform(oAdapter.MACAddress)
"IPXAddress="+Transform(oAdapter.IPXAddress)
"ServiceName="+Transform(oAdapter.ServiceName)
ENDIF
NEXT