On Oct 01, 2007 1:30 AM, Roger Clary wrote:
> The situation I'm looking at is one in which the user installs my app
> on a network drive and then launches the app concurrently from
> multiple clients.
> From my testing, this is possible on a Win platform.
> I want to prohibit this unless a site license has been purchased.
> I thought about installing a small hidden file upon launch,
> preventing other launches if that file is present, then deleting the
> file at exit.
> The problem, which quickly became apparent, is that if the app
> crashes, the file is left in place preventing any launches.
> Suggestions gratefully welcomed.
If the app can create a file on the same network drive, what if you stored in
that file an "expire" flag just in case the app crashes? Some ideas:
The file could always exist and would have some data (that can be
encrypted/obfuscated)... for example:
- expire datetime value
- an hash value of a random value that you can use to check for validity - the
random value is stored in a property in the app while is running
So, when an app is launched you check for that file and see what's the expire
datetime value is. If is not expired then someone is using the app. If is
expired, then you would recreate the file with the respective values.
The app would have a timer to update the data on file every X seconds. Before
updating it you would also check if the file exists and if the hash value is
correct.
Off course the expire value should be low in case the app crashes (15/30
seconds?). This would also require that the timer would have to update the file
before it expires.
I didn't think a lot about this and don't know if it works or is possible with
your app... but it might give you some ideas.
Carlos
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|