How do I create an application with limited users.

K

Kukimuriuki

I need to make a multi user installable appplication which locks on each
individual computer and cannot be installed more times than the license
specifies. I am using ms access developers edition.
 
S

Sharkbyte

In and of itself, Access does not do this. However, I am sure there are
third-party programs that do.

Having just released an application, I struggled with some of these same
issues. My solution was to create the need for a registration key, and then
build a counter into one of the primary data tables by creating an unneeded
ID field.

Now, my application offers up to 30 uses, or 20 new test files. After that
they need to register it. And while it can be cracked, the number of people
with the knowledge, and the willingness to spend the time to do it, are so
few as to not even worry me.

Good luck.

Sharkbyte
 
D

DS

Sharkbyte said:
In and of itself, Access does not do this. However, I am sure there are
third-party programs that do.

Having just released an application, I struggled with some of these same
issues. My solution was to create the need for a registration key, and then
build a counter into one of the primary data tables by creating an unneeded
ID field.

Now, my application offers up to 30 uses, or 20 new test files. After that
they need to register it. And while it can be cracked, the number of people
with the knowledge, and the willingness to spend the time to do it, are so
few as to not even worry me.

Good luck.

Sharkbyte




:
Great Idea! But where do you put the registartion key?....How does the
whole thing work.
Thanks
DS
 
E

eddybarzoom

interesting response, sharkbyte.

Sorry, This is not a trivial matter. Very hard to do. You may also need to
either use MDE's, set up workgroup security, and remove some privileges from
user groups. Problem with many approaches is that you also have to remove
command bars offering useful facilities.

It is doubly awkward in that Access exposes the database window without
additional work.
 
S

Sharkbyte

Great Idea! But where do you put the registartion key?....How does the
whole thing work.
Thanks
DS

I have static table that doesn't use an ID for the PK. I added an
Autonumber field, to generate the record numbers, then changed it to a Number
field (allow duplicates).

I then added code that would advance a specific record number each time the
system started, and a second number was advanced each time test file was
created, and a third as a control number.

The check code looks something like this: (This is for usage)

Under FormOpen

If [ControlNumber] = 1111 and [FirstNumber] >= 1234 Then
[ButtonOpenProgram].enabled = False
msgbox "You have reached the maximum number of uses, without registering
this program. If you wish to continue use this product, please purchase a
Registration Code."
Else
End If

When they plug in a registration code, change the ControlNumber to some
number other than 1111.

For the registration code, I give 10 digit alpha-numeric codes, but only
worry about specific places. I use a Case statement to verify the code is
correct. Example:

Dim string1 As String
Dim string2 As String

string1 = Mid(Text0, 2, 1)
string2 = Mid(Text0, 9, 1)

Select Case string1
Case "K", "F", "E", "k", "f", "e"
Select Case string2
Case "6", "7", "8"
DoCmd.RunSQL ("update [ControlTable] set [ControlNumber] = 11111
where [ControlNumber] = 1111;")
DoCmd.Close acForm, "frmStartup"
DoCmd.OpenForm "frmStartup"
DoCmd.Close acForm, "subfrmReg"
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
End If

Since most everything is controlled by code, the final mde file hides what I
have done. The only way to really find the key is to compare the ID number,
and see which records have changed. But even that never shows them the
Control Number, because the Control Number doesn't update until the product
is registered.

Sharkbyte
 
S

Sharkbyte

The End If, at the end of the sample Registration code, kind of slipped
through, and is not part of that string of code. (In case no one noticed
that.) =)

Sharkbyte



Sharkbyte said:
Great Idea! But where do you put the registartion key?....How does the
whole thing work.
Thanks
DS

I have static table that doesn't use an ID for the PK. I added an
Autonumber field, to generate the record numbers, then changed it to a Number
field (allow duplicates).

I then added code that would advance a specific record number each time the
system started, and a second number was advanced each time test file was
created, and a third as a control number.

The check code looks something like this: (This is for usage)

Under FormOpen

If [ControlNumber] = 1111 and [FirstNumber] >= 1234 Then
[ButtonOpenProgram].enabled = False
msgbox "You have reached the maximum number of uses, without registering
this program. If you wish to continue use this product, please purchase a
Registration Code."
Else
End If

When they plug in a registration code, change the ControlNumber to some
number other than 1111.

For the registration code, I give 10 digit alpha-numeric codes, but only
worry about specific places. I use a Case statement to verify the code is
correct. Example:

Dim string1 As String
Dim string2 As String

string1 = Mid(Text0, 2, 1)
string2 = Mid(Text0, 9, 1)

Select Case string1
Case "K", "F", "E", "k", "f", "e"
Select Case string2
Case "6", "7", "8"
DoCmd.RunSQL ("update [ControlTable] set [ControlNumber] = 11111
where [ControlNumber] = 1111;")
DoCmd.Close acForm, "frmStartup"
DoCmd.OpenForm "frmStartup"
DoCmd.Close acForm, "subfrmReg"
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
End If

Since most everything is controlled by code, the final mde file hides what I
have done. The only way to really find the key is to compare the ID number,
and see which records have changed. But even that never shows them the
Control Number, because the Control Number doesn't update until the product
is registered.

Sharkbyte
 
D

DS

Sharkbyte said:
The End If, at the end of the sample Registration code, kind of slipped
through, and is not part of that string of code. (In case no one noticed
that.) =)

Sharkbyte



:

Great Idea! But where do you put the registartion key?....How does the
whole thing work.
Thanks
DS

I have static table that doesn't use an ID for the PK. I added an
Autonumber field, to generate the record numbers, then changed it to a Number
field (allow duplicates).

I then added code that would advance a specific record number each time the
system started, and a second number was advanced each time test file was
created, and a third as a control number.

The check code looks something like this: (This is for usage)

Under FormOpen

If [ControlNumber] = 1111 and [FirstNumber] >= 1234 Then
[ButtonOpenProgram].enabled = False
msgbox "You have reached the maximum number of uses, without registering
this program. If you wish to continue use this product, please purchase a
Registration Code."
Else
End If

When they plug in a registration code, change the ControlNumber to some
number other than 1111.

For the registration code, I give 10 digit alpha-numeric codes, but only
worry about specific places. I use a Case statement to verify the code is
correct. Example:

Dim string1 As String
Dim string2 As String

string1 = Mid(Text0, 2, 1)
string2 = Mid(Text0, 9, 1)

Select Case string1
Case "K", "F", "E", "k", "f", "e"
Select Case string2
Case "6", "7", "8"
DoCmd.RunSQL ("update [ControlTable] set [ControlNumber] = 11111
where [ControlNumber] = 1111;")
DoCmd.Close acForm, "frmStartup"
DoCmd.OpenForm "frmStartup"
DoCmd.Close acForm, "subfrmReg"
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
Case Else
MsgBox "Invalid Registration Code. Please re-enter."
Text0 = ""
Text0.SetFocus
End Select
End If

Since most everything is controlled by code, the final mde file hides what I
have done. The only way to really find the key is to compare the ID number,
and see which records have changed. But even that never shows them the
Control Number, because the Control Number doesn't update until the product
is registered.

Sharkbyte
Great Thank You, I can't wait till I try it!
DS
 
Top