Well,
I developed a c#.net Desktop Application.
Its workihng properly
but now I want to intall it to another PC but where no .net installed
but I want specific security there.
At installation time I want a special key to install the software.
How can I achive this? please help

Recommended Answers

All 2 Replies

If you are referring to licensing the software application on the target machine, you may want to checkout this website:
http://www.eziriz.com/intellilock.htm

I use this product, and it is very nice, plus it will prevent others from reverse engineering it.

The target machine will need dot net, and you can put that into your installer.

// Jerry

Hi! If you want to make things more interesting (and fun in my opinion) and you don't want to use commercial software to secure your program, why don't you use a simple encryption routine? Here is an example that I've used in some of my own desktop apps:

static public string EncodeTo64(string toEncode)

    {

      byte[] toEncodeAsBytes

            = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);

      string returnValue

            = System.Convert.ToBase64String(toEncodeAsBytes);

      return returnValue;

    }

This is simple base64 encoding for a string... You can make a form where the user has to input their name, and the required 'password' is the result of that name being encoded to base64. Here is what you'd put in the 'Login' button click event (or whatever name you use).

string str = this.textBox1.Text;
this.textBox2.Text = EncodeTo64(str);

Additionally, you can even use different methods such as MD5, SHA-1, and many others... you can even combine all of them. I myself combine MD5, SHA-1, and base64 to be read from a keyfile on the users hard drive. Of course, this is not as easy as using a one-click commercial program, but to me it's MUCH more fun :P. Hope this helps.

-papanyquiL

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.