Storing licence info (other than NSUserDefaults)

  • Hi,

    Firstly I know there have been lengthy discussions
    about the best place to store licence info before, but
    my question is slightly different and wasn't answered
    in any of those threads.

    I have a shareware application which - like many such
    apps - stores its licence info (user name, serial
    number) via NSUserDefaults. This works great for the
    main - sure, it means unscrupulous users can just
    delete this file to restart the trial, but it also
    means that paying users don't have to suffer having
    hidden files spread across their system.

    I want to keep this as the standard place for the
    licence. However, a university has just bought 70
    licences for their English department, and in this
    situation the user defaults solution doesn't work
    well, given that all of their staff and students have
    different accounts, so they would need the licence
    multiple times on every machine.

    One solution would be first to check for the licence
    info in /Library/Application Support before defaulting
    to the standard ~/Library/Preferences. This would mean
    installing the licence on all 70 machines
    individually, still, though (but at least it wouldn't
    entail doing so for each individual user).

    Does anybody have any better solutions for this? I was
    thinking of providing a way for them to define a path
    to the licence file so that they could get the licence
    from a network mount.

    Thanks in advance for any advice and all the best,
    Keith

    P.S. Yes, I know it's spelled "license" in the US, but
    I'm British. :)

          ____________________________________________________________________________________
    Never miss a thing.  Make Yahoo your home page.
    http://www.yahoo.com/r/hs
  • On Dec 30, 2007, at 3:50 AM, Keith Blount wrote:

    > I want to keep this as the standard place for the
    > licence. However, a university has just bought 70
    > licences for their English department, and in this
    > situation the user defaults solution doesn't work
    > well, given that all of their staff and students have
    > different accounts, so they would need the licence
    > multiple times on every machine.

    Check the CFPreferences API for a way to access shared preferences.

    > One solution would be first to check for the licence
    > info in /Library/Application Support before defaulting
    > to the standard ~/Library/Preferences. This would mean
    > installing the licence on all 70 machines
    > individually, still, though (but at least it wouldn't
    > entail doing so for each individual user).

    One way to do it would be to make sure that all computers mount a
    shared volume at something like:

    /Network/Library

    ...and then use the CFPreferences APIs to access a shared preference
    file.

    There are several reasons why this might not be an acceptable solution:

    * Adding such a mount point would require additional configuration on
    their part, and
    * It probably wouldn't work all that well for laptop users

    That said, in some cases - Like in a lab setup - it could be made to
    work, and would allow you to provide generic support for shared
    licenses.

    j o a r
  • How about installing the license on one system (the key server) and
    advertising license details using bonjour through TCP/IP?

    Am 30.12.2007 um 21:23 schrieb j o a r:

    >
    > On Dec 30, 2007, at 3:50 AM, Keith Blount wrote:
    >
    >> I want to keep this as the standard place for the
    >> licence. However, a university has just bought 70
    >> licences for their English department, and in this
    >> situation the user defaults solution doesn't work
    >> well, given that all of their staff and students have
    >> different accounts, so they would need the licence
    >> multiple times on every machine.
    >
    >
    > Check the CFPreferences API for a way to access shared preferences.
    >
    >
    >> One solution would be first to check for the licence
    >> info in /Library/Application Support before defaulting
    >> to the standard ~/Library/Preferences. This would mean
    >> installing the licence on all 70 machines
    >> individually, still, though (but at least it wouldn't
    >> entail doing so for each individual user).
  • On Dec 30, 2007, at 3:50 AM, Keith Blount wrote:

    > Firstly I know there have been lengthy discussions
    > about the best place to store licence info before, but
    > my question is slightly different and wasn't answered
    > in any of those threads.

    The best place to ask about software license implementation would
    probably be the MacSB group on Yahoo, which has a lot of developers
    who have implemented license schemes of their own and ones that
    they've used.

      http://tech.groups.yahoo.com/group/macsb/

    There was also recently a CocoaCast showing how to implement licensing
    using the AquaticPrime framework.

      http://cocoacast.com/

    Both will probably be worth checking out.

      -- Chris
  • The OP is asking how to store some data (preference information) in
    such as way as to not require every machine and very user on that
    machine to store that data separately, since it is data that is across
    users/machines.

    There are several different mechanisms to share app data across users
    and there does not seem to be a recipe as to the preferred method.
    Given that OS X is truly multi-user. I know that this shared resources
    issue is one that many schools come across.

    I think the fact that the data happens to be a license leads for a
    quick redirect, but I think that is incorrect. It's already clear how
    he is storing the license (in NSUserDefaults), he's asking how can I
    best share that across machines/users.

    On 12/30/07, Chris Hanson <cmh...> wrote:
    > On Dec 30, 2007, at 3:50 AM, Keith Blount wrote:
    >
    >> Firstly I know there have been lengthy discussions
    >> about the best place to store licence info before, but
    >> my question is slightly different and wasn't answered
    >> in any of those threads.
    >
    > The best place to ask about software license implementation would
    > probably be the MacSB group on Yahoo, which has a lot of developers
    > who have implemented license schemes of their own and ones that
    > they've used.
    >
    > http://tech.groups.yahoo.com/group/macsb/
    >
    > There was also recently a CocoaCast showing how to implement licensing
    > using the AquaticPrime framework.
    >
    > http://cocoacast.com/
    >
    > Both will probably be worth checking out.
    >
    > -- Chris
    >

    --
    Mark Munz
    unmarked software
    http://www.unmarked.com/
previous month december 2007 next month
MTWTFSS
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Go to today