The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Turn my .NET app to 30Day Trial HELP

Hi Guys,

I need to turn my .NET Application to a 30Day Trial with activation. 

I dont have any money I can put twards this process right now so I need a free method. 

Anyone familiar with <<<  by microsoft.

Im haveing dificultiy integrating it into my program.  it allows  acivation.. payment collection.. registration.. and feedback and error reporting..  awsome.. for the FREE price...  But I cant get it to work..

Anyone able to successfuly run Shareware Starter Kit  for or c#..  please help.  Thanx

Any Help is appreciated.
MagicPixels Send private email
Monday, August 28, 2006
You do not REALLY need to use the sharewarestarterkit approach (i.e. all in one place). If this is your first time to release a shareware application you can do the following:

(1) You can encode within your app a little routine that reads a licence key in order for it to be "activated". If they licence key is not supplied it is in trial mode.

(2) You can open a paypal account and receive payments via Paypal. Paypal has merchant tools that allows you to create "Buy Now" buttons etc.

(3) You can also register with one of the many third-party payment processors such as Share It, RegSoft etc.

(4) You put up a site advertising your product and placing an order link.

There you are. I think most of the people who frequent this forum who have their own product are doing this or a variation of it.
Phillip Flores Send private email
Tuesday, August 29, 2006
Thanx for the quick post.

Have you actaully attempted to use shareware starter kit?

What I dont know how to do is make the activation routine i guess..

any ref for tutorial is appreciated..
or sample source code.
MagicPixels Send private email
Tuesday, August 29, 2006
Step 1 : Get the MAC Address (your network card id which is always a unique one)

Step 2 : Add some secret texts along with your MAC address and make it more personal

Step 3 : Create an MD5 of the above text and this is your software's Registration ID

You may also use some routines to get your HDD id but make sure that this ID is not the one generated by the FORMAT command.

Now create a KeyGenerator which generates a password or similar from UserName and the above mentioned Registration ID.

Validate this key with the UserName RegsitrationID combination in your main program. If matches then Full Version else Demo.
Azad E.S Send private email
Tuesday, August 29, 2006
MAC addresses can be changed. If you need a unique ID then why not use a GUID, rather than attempt to reimplement bits of the GUID algorithm?
John Topley Send private email
Tuesday, August 29, 2006
I'd imagine he'd want the same ID to be "generated" for any given machine. For re-activication and such...
Tuesday, August 29, 2006
Good point.
John Topley Send private email
Tuesday, August 29, 2006
Thanx for all the help guys..
But im not that advanced in programming.

Anyone willing to share an actual sourcecode sample that works on a sample application.. that I can replace with my application.. ? preffered..  c# is fine as well.

Thanx in advance.
MagicPixels Send private email
Tuesday, August 29, 2006
>> Step 1 : Get the MAC Address (your network card id which is always a unique one)

Ouch, you fail Step 1.
SomeBody Send private email
Tuesday, August 29, 2006
Here's something which is hideously insecure.  The only thing, and I do mean the *only* thing, to recommend this setup is that you can have it working in 5 minutes.  It takes approximately 3 seconds of inspection of your program source to crack.  However, the MD5 variant isn't much better as a practical matter -- all they have to do is find your secret salt embedded somewhere in your program and you're just as screwed as them finding your secret two numbers here.  (Note that this does nothing, and I mean nothing, to prevent someone from legitimately purchasing a key and then posting it to the Internets.)

static final long MY_SECRET_FACTOR = *pick a large prime number or generate one randomly ONCE and then paste it here*;
static final long MY_SECRET_XOR = *pick a large random number*;

boolean licenseIsValid(long license) {
  return ((license ^ MY_SECRET_XOR) % MY_SECRET_FACTOR) == 0;

To generate keys, in your favorite scripting language,

for(i=arbitrary;i<arbitrary+1000;i++) {
  print (i*MY_SECRET_FACTOR)^MY_SECRET_XOR . "\n";
Patrick McKenzie Send private email
Wednesday, August 30, 2006
> But im not that advanced in programming.

Here's the thing: if you can't understand and implement the ideas given here, and do so easily in less than a day, then there is only one guarantee that can be made: whatever you achieve will be so fundamentally flawed that it will, at best, be useless, and more likely will have so many false alarms that you'll force legitimate customers to have to get charge-backs, and that'll kill your profit.

Also, if you're genuinely "not that advanced" enough that you're having trouble here, I'ld be skeptical as to your ability to actually develop an application worth paying for anyway.

Yes, I'm being harsh - but someone has to, and the simple fact is that you don't need to be given some source code - you need to actually learn how to do this stuff for yourself. You'll be better off if you learn how to do it, rather than grizzle that you "don't have any money" but want us to develop your commercial application for you for free.

Sunday, September 03, 2006
To the last post before this one....AMEN!!!!
Brice Richard Send private email
Thursday, September 14, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz