Stopping DB after "free trial" etc

I pressed on:D. I attached where I am up to. I have not yet done messages etc.

Run the macro InstallHiddenDB. This an an autoexec but changed for here and in Module1 (the code that is run) it is renamed on the first line and deleted at the end. After you down load it make a copy because that macro will delete stuff.

That macro will create a folder Letters in Windows and a DB TableBU and add two tables and two forms and an autoexec to it. I would change that so the DB went straight into Windows and with a Windows looking file name.

Your one also needs the reference on Now() as that will pick up the Demo Attack with just a time wind back.

The advantage your one has it that it is harder to get around because you are not relying on a hidden file. It would be hard to find the db file mine creates because of the mdb extension being removed at the end of the code run. But even so it is there and if found it then just needs the date to be changed.

It is funny how different ideas come when you play with this stuff. I was beating my brains out on how to overcome someone holding the computer date the same each time the program ran. Then when I ran yours and found winding back time did not bring up Demo Attack then it instantly hit me the need for the Now() reference. Probably a case of looking at a different screen/db while fiddling with the computer date/time.

I think I will pull yours apart and make the changes (forms etc) to suit my application.

Thanks again Rob.
 

Attachments

Mike,

No problem we are all here to learn (i have learnt so much from this site)

I hope you get it sorted
The reason i use the method of database properties is its hard to beat and tidy.
I have all sorts of diferant versions one that uses a text file planted on the customers pc and one that uses the registery but dont use those ones now.
The time issue dosent bother me as most people wont realise to put time back usaly thay try the date.
Let us know how you get on.
p.s.
I looked at your databse and it it is simular to the one i have that uses a text file, keep up the codeing and get some sleep loll
rob
 
Last edited:
The time is an issue if someone wants to use the same date to stop it advancing.

If it goes past midnight then they have the problem of Demo Attack. But if it is 11pm and they wind the back the time to prevent a date change then there is no date change and so no Demo Attack but Now() as the reference will pick it up. I have change mine to be Now()

But I will probably end up using yours and will do some work on it on the weekend so as to mesh in with what I do. I will use mine first as I have couple at the end of the week and it is easier for me at the moment to put mine togther with what they are buying. I agree with you that one of yours is just neater.

one that uses a text file planted on the customers pc
What do you do with that?
 
Mike,
One last thing. :)
I supplied my local council with two databases (after they had tried them)
and the problem i ran into was most corporate machines wont let you create a folder in the c drive let alone windows folder (users don't have admin permissions) just something to think about.
rob
 
The time is an issue if someone wants to use the same date to stop it advancing.

If it goes past midnight then they have the problem of Demo Attack. But if it is 11pm and they wind the back the time to prevent a date change then there is no date change and so no Demo Attack but Now() as the reference will pick it up. I have change mine to be Now()

But I will probably end up using yours and will do some work on it on the weekend so as to mesh in with what I do. I will use mine first as I have couple at the end of the week and it is easier for me at the moment to put mine togther with what they are buying. I agree with you that one of yours is just neater.

What do you do with that?

I stored the expiry and date back values as dates and called then from the database
 
Mike,
One last thing. :)
I supplied my local council with two databases (after they had tried them)
and the problem i ran into was most corporate machines wont let you create a folder in the c drive let alone windows folder (users don't have admin permissions) just something to think about.
rob

This stuff is going into simple areas but I have just changed mine now to that it does not create a folder but just sticks the file into \Windows.

But it is another reason yours is better as it is more self contained.
 
i'm just wondering if what i want to do is similar to this thread topic.

i want my DB to be free on the condition of the user being a member of a particular organisation (pay yearly membership fee, and a bonus is access to this DB).

so basically, my theory is that the DB will have the same setup as a 'trial' but the duration will be a year (obviously the messages/info the user recieves will be something other than "trial"! probably something like "membership period".). when the period is up, the DB will prompt for next "serial number" or "unlock code" (whatever i decide to call it). i.e., "your membership period has expired, if you have renewed your membership enter the serial number provided now."

my question is whether it would be easy to update this year by year, and whether in that case it is best to do a registry kind of setup?

but how do i get this "patch" applied to the database each year? can anyone point me in the right direction? do i need to know all the serial numbers for x number of years in advance, so that i know what the DB expects to see each year, or is there a more on-the-fly way to do it? like give it a little exe batch file which not only places the correct 'serial number' in the registry, but also places in there the next expected one?

the change in DB that i want to do if member is not paid, is just render the DB read-only, so they still have access to their previous entries, but cannot include new ones until they've paid up... is that relatively easy? i suppose i would just include some - If Else End If - in the checking of the 'serial number' to change DB properties depending on whether there is an expected number?
 
This stuff is going into simple areas but I have just changed mine now to that it does not create a folder but just sticks the file into \Windows.

But it is another reason yours is better as it is more self contained.

IMHO, If a machine is properly protected you should not be able to "stick the file into \Windows". It is for OS level stuff only.

I have also found that lots of extra files in the \Windows directory can also have negative impact system performance.
 
Last edited:
IMHO, If a machine is properly protected you should not be able to "stick the file into \Windows". It is for OS level stuff only.

I have also found that lots of extra files in the \Windows directory can also have negative impact system performance.

Well sometime next week or so I will adapt Rob Low's system, which I think is based on what you originally said about property settings.

However, as to Windows I don't think one extra file should cause a problem and I doubt very much that anyone/little business that is buying what this protecting would have windows locked out. But I guess I could sticl the file in Microsoft Office, there are plenty of places:D
 
wiklendt

Unless HiTechCoach or Rob Low come back on the thread and see your question then I would post it as a thread.
 
no worries Mike375. luckily, i'm not in a mad rush to get this done, i'm not even finsihed my DB yet, let alone up to security-setting stage ;) i'm doing my groundwork, though. like to at least have an idea which way to go before diving in. will post as thread if no reply in a couple of days.
 
i'm just wondering if what i want to do is similar to this thread topic.

i want my DB to be free on the condition of the user being a member of a particular organisation (pay yearly membership fee, and a bonus is access to this DB).

so basically, my theory is that the DB will have the same setup as a 'trial' but the duration will be a year (obviously the messages/info the user recieves will be something other than "trial"! probably something like "membership period".). when the period is up, the DB will prompt for next "serial number" or "unlock code" (whatever i decide to call it). i.e., "your membership period has expired, if you have renewed your membership enter the serial number provided now."

my question is whether it would be easy to update this year by year, and whether in that case it is best to do a registry kind of setup?

but how do i get this "patch" applied to the database each year? can anyone point me in the right direction? do i need to know all the serial numbers for x number of years in advance, so that i know what the DB expects to see each year, or is there a more on-the-fly way to do it? like give it a little exe batch file which not only places the correct 'serial number' in the registry, but also places in there the next expected one?

the change in DB that i want to do if member is not paid, is just render the DB read-only, so they still have access to their previous entries, but cannot include new ones until they've paid up... is that relatively easy? i suppose i would just include some - If Else End If - in the checking of the 'serial number' to change DB properties depending on whether there is an expected number?

If you want to see what is also available to purchase so that you do not have to write your own, here is one option:

KeyedAccess
KeyedAccess is an add-on module for Microsoft Access that handles product key/unlock code validation, giving you the ability to create secure trial/shareware versions of your Access applications, or to enforce monthly or yearly software license renewal. Only a key provided by you will fit the unique lock that KeyedAccess creates on each end-user's computer, and software pirates are prevented from copying, reinstalling, backdating, restoring the registry, or modifying registry keys to get around registration screens.

With KeyedAccess you can:

* Protect your Microsoft Access application from software piracy
* Insure that your registered application does not get copied to another computer
* Create a trial period based on days, record insertions, or uses
* Enforce monthly, 3-month, 6-month, or yearly software license renewal
* Generate machine or user specific unlock codes
* Enforce user licenses in a (non-clustered) Terminal Services environment.
* Warn users when trial or license period is about to expire
* Use new wizard for easy implementation
 

$300 USD :eek:

i guess we're paying for the ease - $300 is certainly less than the value i'd get out of these forums in help and coding for the same functionality. i've downloaded a trial, we'll see how it goes.

thanks HTC.
 
I just realised the irony in my previous post - i downloaded a TRIAL software to show me how i can add the TRIAL functionality in my own database! LOL!
 
Well sometime next week or so I will adapt Rob Low's system, which I think is based on what you originally said about property settings.

However, as to Windows I don't think one extra file should cause a problem and I doubt very much that anyone/little business that is buying what this protecting would have windows locked out. But I guess I could sticl the file in Microsoft Office, there are plenty of places:D

Yes, what Rob is doing is what I have been urging you do. IMHO, using database properties is a whole lot easier that what you have been spending a lot of time testing and experimenting with.

However, as to Windows I don't think one extra file should cause a problem
If you think that and so do lots of others, then it is a real problem.


IMHO, I think it is best to avoid anything that could potential cause any issues. Most users love to blame the programmers for all there issues. I have been hearing it for 30+ years. I think about what people say bad about the Windows OS when in reality is is 99.99% of the time the issues with the PC/Windows is causes by installing poorly designed/under tested software that do not follow the Windows standards.
 
do i need to know all the serial numbers for x number of years in advance, so that i know what the DB expects to see each year, or is there a more on-the-fly way to do it?

Just .02. The way this is handled is through an algorithm. This algorithm is actually a hash function that is installed with the program. This algorithm (e.g., x mod y) can be hashed from a sourced code or an external file. In this way, an infinite number of "keys" can be created (depending on the size of the file).

For instance let's say there was a string embedded in your application and it was "abcdefghij" and your algorithm was x + 2. So your first key for the application could be "a,c,e,g,i". The second would be "b,d,f,h,j".

This was a very simple example. The way I understand it, different algorithms might yield different results. One might be for a 3 month trial, a full year, different types of access to the application, etc.

This how crackers get into the application. They basically round up a bunch of existing keys and start looking for a pattern. Their software can then generate a key for an application once the hash function has been identified. This is why the longer the key, the better the security and hash functions are deeply researched to protect the owner's rights.

So you wouldn't need to know future serial numbers, when a customer requested another key, or an extended key, you would just run your function against the file and create a new key for the client .. depending on how you set it all up.

-dK
 
$300 USD :eek:

i guess we're paying for the ease - $300 is certainly less than the value i'd get out of these forums in help and coding for the same functionality. i've downloaded a trial, we'll see how it goes.

thanks HTC.

IMHO, you are paying for the expertise, not the ease.

For someone with many 000's of dollars worth of training, it woudl easily take over 150 hours of work to built sometime like that. That would be less than $2/hr for someones time.

IMHO, $300 is very very very cheap.
 
IMHO, I think it is best to avoid anything that could potential cause any issues. Most users love to blame the programmers for all there issues. I have been hearing it for 30+ years. I think about what people say bad about the Windows OS when in reality is is 99.99% of the time the issues with the PC/Windows is causes by installing poorly designed/under tested software that do not follow the Windows standards.

That is why I avoided registry.

I have a couple going out tomorrow and I will probably change to it to program files. I have not got the time or situation at the moment to alter Rob Lows to suit me, that is next week.
 
$300 USD :eek:

i guess we're paying for the ease - $300 is certainly less than the value i'd get out of these forums in help and coding for the same functionality. i've downloaded a trial, we'll see how it goes.

thanks HTC.

You are paying for them working out how to do it and what the market will bear.

I sell a package that is a backup system, general file management etc and and depending on bits and pieces it is $250 to $500. It takes me on average about 15 to 30 minutes at the most to alter it. So $300 is cheap. Also, it is not just making it but refining it. It can be a long way from a couple of answers on the forum to a reliable working system/solution...a real long way.

Now that I know about it I will probably buy it. The main plus with trying to make this sort of thing yourself is what you learn along the way which is often completely unrelated to what you are trying to do.
 
sorry, that was a knee-jerk reaction.

i was relating it to my own situation without saying so.

i agree $300 isn't much, but for me it's an unjustifiable expense: i am not a developer or professional in the field (i'm a microbiologist!), and so won't use this software more than once on the one database i'm doing as a hobby - it won't even be sold, it will be given free of charge to active members of a small association, which hasn't even been founded yet! (the idea has been planted with my partner, though)

and after realising the amount of work going into this sort of thing, i will most likely not venture into such a large project again - small ones here and there yes, but like what i'm building now? no, i can't foresee it.

...all that went through my mind when i saw "$300" - and it didn't offer smaller licenses like all the other software it had on the site... (like their single application license of $36 for LASsie... that i could have handled more gracefully...) while the license is an unlimited royalty free what-not license, my application would be just one - so for me it'd effectively be $300 for a single application license.

anyway - despite all that it sounds like what i need, and i HAVE downloaded the trial to check it out, and who knows, maybe i WILL purchase it if one day i find a surplus of $300 in my bank account that i can resist putting into repaying my debts... ...

...sigh... just ignore me - i feel a little in over my head with all this, it's a little depressing how much more work there is to do on it...
 

Users who are viewing this thread

Back
Top Bottom