Reputation: 9
I made a software using Python, then I convert it to an EXE application using cx_Freeze. I'm trying to make an MSI installer for my application using Advanced Installer, and use the time limitation trial in Advanced Installer on my application? And is there any alternative that can do this?
Upvotes: 1
Views: 1211
Reputation: 20780
I have found it easier to provide this functionality in the application (especially if you have a company web site that can provide web service calls). One of the reasons is that it seems fairer to start the clock at first use of the app, not at install time. If you are worried about users hacking into the time trial it's also more secure to make a web service call to your company's web site. So if you want to build your own this is the general idea:
The best solution is when the install medium has its unique CD key or license. The app passes that to your company's web service and say "first run of the app". That starts the clock that is kept at your company's server, the clock for this copy of the app at this particular customer's system. Later runs of the app call in to see if the clock has run out.
If there is no license or CD key, another way is to generate a signature from the software and hardware of the machine and pass that to the web service.
Cache the estimated expiry date somewhere as a fallback.
When the app starts, pass the license (or machine signature) information to the company web service to see if it's expired. If that's not available then use the cached expiry date instead. If that's not available then someone has tried to hack it, so don't let the app run.
If the customer tries to install the product on another system, the license/cd key from the install medium has already been used so the app won't work when installed. That's why a unique key per install is useful. This prevents that install license from being installed anywhere else (typically until the customer pays and the company database says they are ok to use that license).
If the customer uninstalls and tries to reinstall on the same machine, that hardware signature has been seen before too, so if there is no unique license key the machine signature can be used to detect re-use. There isn't a way to stop it running on another system if the customer has more than one, and again that's why a unique license id per install medium works best.
In the end the issue is how much you care and how much you want to stop the customer running the app. In many cases a severe nagging message at start up and other points while the app runs can be enough.
Upvotes: 0
Reputation: 5618
First, make sure that you have an Enterprise or higher license. Then, follow the instructions in this image (you may want to change the last three steps and maybe change the last step) by clicking on every specified button and correctly setting every specified field:
The Display Name
and other fields will be automatically filled out. Feel free to customize further, but this should just work.
Upvotes: 1