Subject Re: [firebird-support] Re: how to detect which client library is currently loaded
Author The Wogster
hsdev77 wrote:
> (Hi, I'm back)
> Thanks to all for all the comments.
> The reason is simple. 2 cases:
> 1. I have an idea to 'give away' a demo cd of some apps to the
> (prospect) customers, full featured except being hard-coded limited to
> only use the embedded client.

Personally when I see crippleware (i.e. only one user allowed, or some
useful features disabled), I usually uninstall the software, and pitch
the CD. My preference is a licence key that contains an expiry date
encoded within it somewhere, this would allow the user to use the
software for say 90 days, after which they can pay for the software.
Then you simply email them a different key, with a difference encoded
date -- this could be something like Dec 31, 9999 if you want to allow
"permanent" use, or a year down the road, if you want to allow for
annual renewals. Do some bit twiddling so that the client can't figure
out how your doing this. Something as simple as using an integer for
the date and encrypting it will work nicely.

This also saves you having to have both a demo and real version, and
saves you the cost of shipping a second, uncrippled CD, CD's cost real
money, and so does the shipping, emailing a key costs nothing. Heck
some software developers set up a web site, where you are taken to a
credit card site, make your payment, and come back to get a new key,
right then and there.

> (sounds silly? maybe you're right that I'm worrying about nothing)
> 2. I have a plan to use fbembed to replace file-based database,
> utilized all the triggers/stored procedure which will simplify the
> client side logics. There is a need to make sure the data is stored
> locally for locating other supporting files (eg. parsing directory
> location, etc) also because in messy MS-dll world, we cannot control
> every dll on the client machine. (very often fbclient.dll renamed to
> gds32.dll then fbembed renamed to fbclient or gds32, or vice versa,
> etc, etc)

The only time that you will find this renaming is when someone already
has Firebird installed, and being used for something else, where the
application is screwed up or trying to do something stupid (like limit
to one user ;-)

The issue is that you may eventually want to use your application for a
larger client that would like to use it with a server. Then you would
need to do some major rewriting, and need to deal with DLL hell anyway.

This isn't really a firebird issue, if you want to discuss it further,
feel free to email me off list.....

W