- NSIS Discussion
- Couple questions: trialware and admin user
Archive: Couple questions: trialware and admin user
Tom Redyns
19th April 2006 01:32 UTC
Couple questions: trialware and admin user
Hello,
I've been reading the NSIS and haven't quite found an answer to the following questions pertaining to my desktop installer. The questions are:
1. What type of NSIS strategy can I user to do a "15" day trialware installasion?
2. Upon reinstalling on the 20th day, still disallow the user to use the application until they purchase a license?
3. How do I mandate that the user installing my desktop application has administrator or administrator group acccess?
4. How do I ensure my installation allows all users for the desktop to use the application?
Thanks...Tom
Red Wine
19th April 2006 02:50 UTC
3. How do I mandate that the user installing my desktop application has administrator or administrator group acccess?
4. How do I ensure my installation allows all users for the desktop to use the application?
For case 3 and case 4
look here
sissy
19th April 2006 03:03 UTC
Re: Couple questions: trialware and admin user
1. What type of NSIS strategy can I user to do a "15" day trialware installasion?
2. Upon reinstalling on the 20th day, still disallow the user to use the application until they purchase a license?
I personally would build this function into the application itself not the installer code.
Your application is going to have to read an import the license details as once its installed it will be the only code executing.
Tom Redyns
19th April 2006 21:58 UTC
Re: Couple questions: trialware and admin user
Originally posted by Red Wine
For case 3 and case 4 look here
Thank you very much. I'll look into this.
Tom
Tom Redyns
19th April 2006 22:06 UTC
Re: Re: Couple questions: trialware and admin user
Originally posted by sissy
I personally would build this function into the application itself not the installer code.
Your application is going to have to read an import the license details as once its installed it will be the only code executing.
Yes I agree with building this functionality into my application. I do plan on making a new trialware release nightly and automatically uploading that to my website's "download trialware" webpage.
However, if the same user downloads my demo after "20" days and do a re-install they will have a new "15" demo. There was nothing saved to the desktop machine on the first installation.
A little history about myself: I've done 8+ years of Java desktop application for companies not needing installation (this application is my first installable desktop application).
I believe the answer lies within the Windows Registry and I've read alot of documentation about NSIS and it's registry function names. However I've read alot about if you screw-up your registry you can screw up your machine to where it won't boot. There exists alot of trialware software out there and would seem the strategy of actually implementing the trialware concept is common knowledge. However I'm having trouble researching the topic to get a better understanding of the concept. And thus the question posted to NSIS.
Thanks...Tom
dandaman32
20th April 2006 01:24 UTC
I've written a proprietary NSIS library that can store info in the registry and use activation keys with check digits and expiration after a certain amount of time - contact me for licensing details. It's not free because I use the code for my installer dev services and I can't make it widely available for download.
-dandaman32
Neuron
20th April 2006 05:14 UTC
Messing up around with the registry is somewhat risky and makes user system slower in the end, a good idea but not the safer way I think.
In my Trialware I prefer to do a "secret" 'CreateFile()' on system folder, into this file you might save a struct containing a simple 'Int' or many other variables you should need. Then, everytime the program loads it should read this struct from file, incrementing the secret 'Int' by 1 until you decide how many times you let the user to use the program, of course you could make the file with hidden attribute so it helps a little bit with our stealth technique xD. Use something like .raw, .iso, .img or the like in file extension, avoinding executable ones.
Uninstaller should not delete this *secret* file in the system folder, so, everytime user installs your prog in same PC, the program will detect in structure the Trial end.
I prefer to use 'Execution counting' than 'Trial days' counting, cause in the last case, you need to use system clock to keep a solid counting, or having your app to add hours while executing and saving them to a file(whatta mess!) cause you never know if user will use some app to cheat your program about time anyway, or even worst PC system clock might be failing(low battery).
Many advanced software vendors use this file technique, cause otherwise the only thing that gets bloated up is the system or windows folder, not the sensitive, angrier and fragmentable Windows Registry. Furthermore, a good registry cleaner could delete this ghost Trial entry.
For better results I strongly recommend to use Win32 API,
stable, quicker, the best multiplatform solution.
Cheerz!
Prex In Aeternum.
Tom Redyns
25th April 2006 02:11 UTC
Originally posted by Red Wine
For case 3 and case 4 look here
Thanks for the answer to #3. I've incorporated it.
However I'm at a loss for the script to have my install take affect for all users. I'd like to have my desktop icon placed on the desktop as well as the Start/Programs to list my program's entry.
Thanks...Tom
Tom Redyns
25th April 2006 03:16 UTC
Originally posted by Tom Redyns
Thanks for the answer to #3. I've incorporated it.
However I'm at a loss for the script to have my install take affect for all users. I'd like to have my desktop icon placed on the desktop as well as the Start/Programs to list my program's entry.
Thanks...Tom
The answer to my issue is to do the following right before I do my
CreateDirectory "$SMPROGRAMS\..."
CreateShortCut "$SMPROGRAMS\..."
with
SetShellVarContext all
Thanks...Tom