locked
Program design question for software license checking RRS feed

  • Question

  • I'm new with WPF and Windows programming in general. I want to implement a software license checker at my application startup when the program is first started. User will type the license information and if it's valid, that window will not show up at startup anymore.

    How can I accomplish this? Is it better if I build two projects within my solution - one for the license checker and another for the software itsefl? If it's better to keep only one project, should the Main Window be the license checker?

    • Moved by Min Zhu Monday, April 29, 2013 6:30 AM
    Tuesday, April 23, 2013 2:44 AM

Answers

  • Hi Wadus,

    You can ask about it in the "Windows Presentation Foundation (WPF)" forum here:

    http://social.msdn.microsoft.com/forums/en-US/wpf/threads/

    Regards,

    Zoli

    Monday, April 29, 2013 12:56 PM
  • Min just moved this thread from the wpf forum.

    Some people use a c++ loader for wpf applications.

    I think often because of the long load time you can expect from a complex wpf app.

    But.

    You could write your own and check some obscured registry entry.

    By writing in c++ you could make it a little harder for people to decompile.

    Any application totally installed one the users' pc cannot be totally secured.  It's just  matter of making it a bit harder for anyone.

    For an app which has frequent ongoing updates you could make it a series of mef plug-ins and download dll off the web.  They have to authenticate to get the latest good stuff.


    Tuesday, April 30, 2013 7:30 AM

All replies

  • It depends what you want to achieve.

    If the license checking is something simple, I would just add a new Window to the main project and display it before the MainWindow.


    Tuesday, April 23, 2013 11:18 AM
  • How are they getting your application?

    Off the web?

    I would suggest you check before the user installs and then give them a unique key so they need not go through a registration process at all.

    Then if you're selling this for proper money, have a web service the application calls as it runs and check that key and how many people are using it.

    But if you wanted to check in part of the program itself then I'd just have a panel in the main window which I showed when it's unlicensed.   Over the top of most of the stuff in the main window.

    You can easily arrange for pieces of UI to be on top of stuff or collapsed and completely hidden using the Visibility property.

    If you make it a separate application then it's that bit easier for someone to just do a wrapper for your application obviates registration and paying.

    It;s a big sort of subject.

    Remember that once someone has your application they effectively have all your code.

    You will need to use obfuscation to stop them just pointing reflector at the exe.

    Tuesday, April 23, 2013 12:01 PM
  • Thank you much for your replies.

    Yes, I'm planning to sell my software via the web.

    I'm sure this is a common asked question as I have searched in this forum before. I also see that there is no standard way to implement a license checking algorithm which is pretty obvious why - to difficult people from pirating your software for instance.

    Saying that, I assume that this is a common task for all Windows developers who want to sell their software, so is there some kind of official resource (MSDN?) that explains how to integrate the entire payment and license generation? I'm getting overwhelmed with 3rd party solutions, but I am interested to see what Microsoft has to say on that.

    PS: This is the first time I am selling a software of my own so I have no experience on that subject whatsoever.

    Wednesday, April 24, 2013 6:46 PM
  • Windows 8 store apps have the windows store.

    Otherwise, that's why there's all those 3rd party options.

    Wednesday, April 24, 2013 7:03 PM
  • Hi Wadus,

    This topic goes beyond the scope of WPF forum. I will be moving the thread to Where is the forum for... forum to help you find an appropriate forum for it. Thank you!


    Min Zhu
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, April 29, 2013 6:31 AM
  • Hi Wadus,

    You can ask about it in the "Windows Presentation Foundation (WPF)" forum here:

    http://social.msdn.microsoft.com/forums/en-US/wpf/threads/

    Regards,

    Zoli

    Monday, April 29, 2013 12:56 PM
  • Min just moved this thread from the wpf forum.

    Some people use a c++ loader for wpf applications.

    I think often because of the long load time you can expect from a complex wpf app.

    But.

    You could write your own and check some obscured registry entry.

    By writing in c++ you could make it a little harder for people to decompile.

    Any application totally installed one the users' pc cannot be totally secured.  It's just  matter of making it a bit harder for anyone.

    For an app which has frequent ongoing updates you could make it a series of mef plug-ins and download dll off the web.  They have to authenticate to get the latest good stuff.


    Tuesday, April 30, 2013 7:30 AM