What's general technique of stopping working Java application after certain time (trial or demo version)? How to prevent working app after reinstallation? It's for Windows platform. Is any hidden file to mark first intall? Where is the best way to put it to avoid hacking?
Tough in space?, <a href="http://tjws.sf.net" target="_blank" rel="nofollow">Get J2EE servlet container under 150Kbytes here</a><br />Love your iPod and want it anywhere?<a href="http://mediachest.sf.net" target="_blank" rel="nofollow">Check it here.</a><br /><a href="http://7bee.j2ee.us/book/Generics%20in%20JDK%201.5.html" target="_blank" rel="nofollow">Curious about generic in Java?</a><br /><a href="http://7bee.j2ee.us/bee/index-bee.html" target="_blank" rel="nofollow">Hate ant? Use bee.</a><br /><a href="http://7bee.j2ee.us/addressbook/" target="_blank" rel="nofollow">Need contacts anywhere?</a><br /><a href="http://searchdir.sourceforge.net/" target="_blank" rel="nofollow">How to promote your business with a search engine</a>
As someone who's gotten around virutally every time out exception ever made, I'm going to go out on a limb and say you can't prevent users from getting passed it. You can make it painful or more difficult to do it though.
For example, putting this setting in an unencrypted file (like a properties file) or registry will stop about 80% of people, but a number will still get through. Putting it in an encrypted file stops even more people but then people just change their clock date when they install the program or figure out how to edit the file.
I'd say the safest (and most annoying) solution is to have the client software be required to check with an administration server before the program loads so that it keeps track of use. IBM does this with many of their products like Clearcase, Clearquest, and Rational Rose. The problem with this is that users can still crack it, and then you have to maintain a server and database with tracking information.
Ultimately, I want to say it doesn't matter which you choose. If you write good software that people like, they will pay. And if its for business's they will have to pay lest they get audited for thousands of dollars.
I completely share your opinion, I'd say more not only remove any protection, but provide complete source. Good application will be paid off even more in this case. However, I am not CEO yet, so I get paid for providing solutions for certain problems like this. Anyway, thank you for sharing your opinion.