I want to implement a windows service that functions as a simple license security feature for a software X. The service is meant to run independently from software X.

The rough idea:
  • The service is like a timebomb for a software Z installed on the machine...
  • Whenever the user runs software X, the service pops up a window every 30 minutes to remind the user to register software X.
  • If the user doesnt register the software after 1 month, the service will change the license code in a file and kill the software X process.
  • On the next start up, software X will read the wrong license code and starts in demo mode.
  • The service backs up the license code first before changing it.
  • When the user do register, a exe or bat file will be given for the user to run. The file restores the original license file and permanently removes the service.
Additional info:
  • Is it possible that if the user tries to kill the service, the service will automatically change license code and kill software X before being killed itself?
  • If the user changes the license code manually in the file after the service changes it, then the service will automatically change it back and kill software X.
I'm quite the newbie in programming... so i wanna ask for advice first before jumping into the project... Any advice, tips or issues/concerns i should be aware of based on your experience?

I'll was thinking of coding it in C++ but might do it in C#(never used it before) after seeing some reviews and the amount of resources for C#.