BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Want to make an update program for only use once.

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> comp.lang.pascal.delphi.misc
View previous topic :: View next topic  
Author Message
Kai Inge
Guest





PostPosted: Tue Jan 13, 2004 2:37 am    Post subject: Want to make an update program for only use once. Reply with quote



How can I delete the updateprograms exefile when the updateprogram runs
once.
Deletefile(myupdateprogram.exe) does not work.

I want it to be deleted so the updateprogram can not be used to update more
than one instance of my databaseprogram.
(Kinda primitive copyprotection)

Of course if the user is aware of it he can make copies of the update
program before using it,
and also he can reuse the attachment in the mail with the program.

Nevertheless I want it to delete itself and also delete the mail with the
attatchment if possible.
Or is there better ways of doing this?

Thanks in advance.

--
Smile
Kai Inge
[email]kibNO (AT) bluezone (DOT) no[/email]
(Bort med NO ved svar)


Back to top
Maarten Wiltink
Guest





PostPosted: Tue Jan 13, 2004 9:04 am    Post subject: Re: Want to make an update program for only use once. Reply with quote



"Kai Inge" <kibNO (AT) bluecom (DOT) no> wrote


Quote:
How can I delete the updateprograms exefile when the updateprogram runs
once.
Deletefile(myupdateprogram.exe) does not work.

I want it to be deleted so the updateprogram can not be used to update
more than one instance of my databaseprogram.
(Kinda primitive copyprotection)

Of course if the user is aware of it he can make copies of the update
program before using it,
and also he can reuse the attachment in the mail with the program.

Nevertheless I want it to delete itself and also delete the mail with
the attatchment if possible.
Or is there better ways of doing this?

I would get horrendously mad at any software supplier that messed with
*my* email.

You already know that the scheme is easily thwarted. Why bother at all?
Is this really what you want to base your security on?

Groetjes,
Maarten Wiltink



Back to top
Jamie
Guest





PostPosted: Tue Jan 13, 2004 9:46 am    Post subject: Re: Want to make an update program for only use once. Reply with quote



that is a simple one.
run the update, have your main app use the command line parameter to
see if it needs to delete some files on start up.
when your update program is done it can start your app using the
ShellExecute or createProcess etc, passing a command line option that
your app understands with maybe the name of the update program along
with it.
your main app will use a timer if it see's this option to allow for
the update program to exit, the timer will need to make several trys
before it is able to delete the file.
if you were on a NT kernal there is a function that you can use that
tags the file to be deleted after use . i just can't remember what it is
now..


Kai Inge wrote:
Quote:
How can I delete the updateprograms exefile when the updateprogram runs
once.
Deletefile(myupdateprogram.exe) does not work.

I want it to be deleted so the updateprogram can not be used to update more
than one instance of my databaseprogram.
(Kinda primitive copyprotection)

Of course if the user is aware of it he can make copies of the update
program before using it,
and also he can reuse the attachment in the mail with the program.

Nevertheless I want it to delete itself and also delete the mail with the
attatchment if possible.
Or is there better ways of doing this?

Thanks in advance.



Back to top
Kai Inge
Guest





PostPosted: Wed Jan 14, 2004 9:32 pm    Post subject: Re: Want to make an update program for only use once. Reply with quote

I can see your point about the email, so that solution is already on its way
down the drain Smile
The update sets some variables in the database to allow continued use of the
program after the
payment once a year.
Since the users is no datagurus intending to crack my programs this low
security has been enough.
Of course I can use keys and numbers, but just a button click is easier for
my users than complex numbers to put into it.
I have also tried to collect the serial numbers of the hardware, but this
easily ends up in a mess after hardware replacement.
So I guess I'll have to put all the security behind the button click and in
the communication between the update program
and the main program, and then don't bother deleting the update.

What is a good solution that offers good security and little effort from the
users?

:)
Kai Inge


"Maarten Wiltink" <maarten (AT) kittensandcats (DOT) net> wrote

Quote:
"Kai Inge" <kibNO (AT) bluecom (DOT) no> wrote in message
news:1073961473.407771 (AT) gurney (DOT) ..

How can I delete the updateprograms exefile when the updateprogram runs
once.
Deletefile(myupdateprogram.exe) does not work.

I want it to be deleted so the updateprogram can not be used to update
more than one instance of my databaseprogram.
(Kinda primitive copyprotection)

Of course if the user is aware of it he can make copies of the update
program before using it,
and also he can reuse the attachment in the mail with the program.

Nevertheless I want it to delete itself and also delete the mail with
the attatchment if possible.
Or is there better ways of doing this?

I would get horrendously mad at any software supplier that messed with
*my* email.

You already know that the scheme is easily thwarted. Why bother at all?
Is this really what you want to base your security on?

Groetjes,
Maarten Wiltink





Back to top
pr
Guest





PostPosted: Wed Jan 14, 2004 10:35 pm    Post subject: Re: Want to make an update program for only use once. Reply with quote


"Kai Inge" <kibNO (AT) bluecom (DOT) no> wrote


Quote:
What is a good solution that offers good security and little effort from
the
users?

Why not send them an annual licence file, tied to the company name,
and which only you can generate?

PR




Back to top
Ryan
Guest





PostPosted: Thu Jan 15, 2004 9:24 am    Post subject: Re: Want to make an update program for only use once. Reply with quote

Two methods I would suggest.

The easy one which fits in with what you wanted is to create a file
(ini) that you app writes to when it has completed. When it opens,
have it check for whatever value in the file and disable and terminate
itself if it's there. You can put whatever you want in the file so it
would be pretty difficult to guess what is or isn't expected. This
way, you can probably figure out a way of re-enabling it should there
be a problem.

Option 2 is to store a value in the database which contains a string
that allows you to work out when an app is valid from and to. I did
one on one of mine a while ago which has various parts to work out the
dates using hex, julian dates and a few other tasty bits (check
digits) thrown in. The app checked what these were, converted them
back to a value it can use and then worked out if it would allow the
app to run. It is quite complex, but was worthwhile for my needs. It
is crackable, but not by your average numpty.


Ryan

www.ryan.dial.pipex.com

"pr" <shin (AT) netactive (DOT) co.za> wrote

Quote:
"Kai Inge" <kibNO (AT) bluecom (DOT) no> wrote in message
news:1074115930.293353 (AT) gurney (DOT) ..

What is a good solution that offers good security and little effort from
the
users?

Why not send them an annual licence file, tied to the company name,
and which only you can generate?

PR

Back to top
J French
Guest





PostPosted: Thu Jan 15, 2004 9:53 am    Post subject: Re: Want to make an update program for only use once. Reply with quote

On Wed, 14 Jan 2004 22:32:09 +0100, "Kai Inge" <kibNO (AT) bluecom (DOT) no>
wrote:

Quote:
I can see your point about the email, so that solution is already on its way
down the drain Smile
The update sets some variables in the database to allow continued use of the
program after the
payment once a year.
Since the users is no datagurus intending to crack my programs this low
security has been enough.
Of course I can use keys and numbers, but just a button click is easier for
my users than complex numbers to put into it.
I have also tried to collect the serial numbers of the hardware, but this
easily ends up in a mess after hardware replacement.
So I guess I'll have to put all the security behind the button click and in
the communication between the update program
and the main program, and then don't bother deleting the update.

What is a good solution that offers good security and little effort from the
users?

It will not be much use for now, but for the future it might be an
idea to send the 'key' by Email in an attached file with a special
extension.

Your App could register that file extension so that your App is
associated with that extension
- the ShellExecute stuff built into Windows

The update/key gen would then be a single click operation from the
users Email program



Back to top
Ian Robinson
Guest





PostPosted: Fri Jan 16, 2004 10:50 am    Post subject: Re: Want to make an update program for only use once. Reply with quote


2 other options...


You are updating the database so in each version of your update program
check to see if the previous changes are there and if they are then
terminate the update program ...OR...

Version"ize" your update program and on each completion write to the
rigistry the LastUpdate version. Each update program checks the registry
to see if it's been applied.



In message <1074115930.293353@gurney>, Kai Inge <kibNO (AT) bluecom (DOT) no> said
Quote:
I can see your point about the email, so that solution is already on its way
down the drain Smile
The update sets some variables in the database to allow continued use of the
program after the
payment once a year.
Since the users is no datagurus intending to crack my programs this low
security has been enough.
Of course I can use keys and numbers, but just a button click is easier for
my users than complex numbers to put into it.
I have also tried to collect the serial numbers of the hardware, but this
easily ends up in a mess after hardware replacement.
So I guess I'll have to put all the security behind the button click and in
the communication between the update program
and the main program, and then don't bother deleting the update.

What is a good solution that offers good security and little effort from the
users?

:)
Kai Inge


"Maarten Wiltink" <maarten (AT) kittensandcats (DOT) net> wrote in message
news:4003b49b$0$314$e4fe514c (AT) news (DOT) xs4all.nl...
"Kai Inge" <kibNO (AT) bluecom (DOT) no> wrote in message
news:1073961473.407771 (AT) gurney (DOT) ..

How can I delete the updateprograms exefile when the updateprogram runs
once.
Deletefile(myupdateprogram.exe) does not work.

I want it to be deleted so the updateprogram can not be used to update
more than one instance of my databaseprogram.
(Kinda primitive copyprotection)

Of course if the user is aware of it he can make copies of the update
program before using it,
and also he can reuse the attachment in the mail with the program.

Nevertheless I want it to delete itself and also delete the mail with
the attatchment if possible.
Or is there better ways of doing this?

I would get horrendously mad at any software supplier that messed with
*my* email.

You already know that the scheme is easily thwarted. Why bother at all?
Is this really what you want to base your security on?

Groetjes,
Maarten Wiltink





--
Best regards
Ian Robinson FOREST SOFTWARE
+44(0)1594 564457 (Office)
+44(0)7718 806 006 (UK Mobile)
+34 653 209 592 (Overseas Mobile)
+44(0)1594 564038 (Out of hours support)

Back to top
J French
Guest





PostPosted: Fri Jan 16, 2004 11:39 am    Post subject: Re: Want to make an update program for only use once. Reply with quote

On Fri, 16 Jan 2004 10:50:44 +0000, Ian Robinson
<ian (AT) forest2000 (DOT) co.uk> wrote:

Quote:

2 other options...


You are updating the database so in each version of your update program
check to see if the previous changes are there and if they are then
terminate the update program ...OR...

Version"ize" your update program and on each completion write to the
rigistry the LastUpdate version. Each update program checks the registry
to see if it's been applied.

Hmm

Then /when/ the User has a mega crash and/or moves the App to another
machine, that Registry entry is not present
- and the whole thing screws up in no uncertain manner

Back to top
Ian Robinson
Guest





PostPosted: Mon Jan 19, 2004 10:48 am    Post subject: Re: Want to make an update program for only use once. Reply with quote

In message <4007c9d3.6650448 (AT) news (DOT) btclick.com>, J French
<erewhon (AT) nowhere (DOT) com> said
Quote:
On Fri, 16 Jan 2004 10:50:44 +0000, Ian Robinson
[email]ian (AT) forest2000 (DOT) co.uk[/email]> wrote:


2 other options...


You are updating the database so in each version of your update program
check to see if the previous changes are there and if they are then
terminate the update program ...OR...

Version"ize" your update program and on each completion write to the
rigistry the LastUpdate version. Each update program checks the registry
to see if it's been applied.

Hmm

Then /when/ the User has a mega crash and/or moves the App to another
machine, that Registry entry is not present
- and the whole thing screws up in no uncertain manner


OK, then each time the program is run it can write the version number
for the data it is using to the registry then each update can check that
version number to see if it should be applied.

--
Best regards
Ian Robinson FOREST SOFTWARE
+44(0)1594 564457 (Office)
+44(0)7718 806 006 (UK Mobile)
+34 653 209 592 (Overseas Mobile)
+44(0)1594 564038 (Out of hours support)

Back to top
J French
Guest





PostPosted: Mon Jan 19, 2004 1:36 pm    Post subject: Re: Want to make an update program for only use once. Reply with quote

On Mon, 19 Jan 2004 10:48:51 +0000, Ian Robinson
<ian (AT) forest2000 (DOT) co.uk> wrote:

Quote:
In message <4007c9d3.6650448 (AT) news (DOT) btclick.com>, J French
[email]erewhon (AT) nowhere (DOT) com[/email]> said
On Fri, 16 Jan 2004 10:50:44 +0000, Ian Robinson
[email]ian (AT) forest2000 (DOT) co.uk[/email]> wrote:


2 other options...


You are updating the database so in each version of your update program
check to see if the previous changes are there and if they are then
terminate the update program ...OR...

Version"ize" your update program and on each completion write to the
rigistry the LastUpdate version. Each update program checks the registry
to see if it's been applied.

Hmm

Then /when/ the User has a mega crash and/or moves the App to another
machine, that Registry entry is not present
- and the whole thing screws up in no uncertain manner


OK, then each time the program is run it can write the version number
for the data it is using to the registry then each update can check that
version number to see if it should be applied.

Gawd - what a complicated way of performing a simple task

It is like putting strapping a mobile phone on a dog's collar
- rather than (sub optimally) a dog tag
- or ideally a tattoo ...

Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> comp.lang.pascal.delphi.misc All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.