views:

91

answers:

2

If you want to implement a time limited trial for an application you would probably want to leave behind some flag (registry key, file etc) so a program couldn't just be re-installed.

Are there any schemes that allow you to do this while still passing the various Windows Certification programs?

Generally :-

Applications must correctly and fully uninstall from the machine. This includes removing files, registry keys, GAC assemblies, database tables, metabase settings, active directory accounts, etc. Anything left on the system after uninstall, including system components installed by the application, must be documented and justified - Windows Server 2008 Software Logo Secification - 2.3 Uninstall Cleanly

+1  A: 

If your app is connected to the Internet, then you could store information on your own server about whether it has been installed before or not. However, this almost certainly needs to be designed in from the start with potential investment in hosting your own server to be available to check against.

I'm sure there must be plenty of cases where files are left behind after an uninstall that are perfectly acceptable. For example, I wouldn't expect all my documents to be deleted when I uninstalled Word.

Big GH
Coming back to this late - IIRC documents stored in a users documents dir (or shared areas) are fine to leave behind but you wouldn't generally put some sort of hidden file with installation date here - that would want to be in programs dir.
Ryan
+2  A: 

You are taking the philosophy of only allowing installation if a flag is NOT there, which means you need to leave the flag there after uninstall. Also this fails when the user finds the flag and deletes it themself.

Better is if you turn it around and only allow the program to work if a flag IS there. This flag would be a registration key that has the date of expiry encrypted into it. When the program expires or is uninstalled, you delete the flag.

I implement this by making my users come to my site to register and get a free trial key. There are probably other ways, but I like this one because it also allows me to collect info about who is trying my program.

lkessler
Excellent point - though depending on your market asking for any sort of registration could really reduce number of downloads. Its an ongoing debate e.g. http://network.businessofsoftware.org/forum/topics/2352433:Topic:623
Ryan
What you will find is that the people most interested WILL register. Those are the best people to have. They are most likely to buy. And if you make them happy, they will tell their friends bringing in more interested people.
lkessler