There are many sophisticated ways of limiting your app to a number of executions, or executions until a certain date. There are a bunch of licensing apps that put a wrapper around your app and can provide you with the capability you want. They can cost from $100 to $10,000 or more.
I've used a very simple method that works for most users. But if you get a smart guy who wants to get around it, he/she can.
During the first execution of the app, have your app create a file somewhere on their hard drive. In this file simply put a number to represent the number of times the app has been executed. Hide the file somewhere on the hard drive where they will have difficulty finding it, i.e. not in the app's directory. Then each time your app is started, it ch
ecks to see if the file exists. If it does, the app has obviously been run at least once. Have your app read the number from the file, increment it by one, and re-save it. If the number is greater than your limitation, i.e. 10, exit the app with a nice popup telling the user why you're exiting so they can buy the real app. Just make sure that your app checks if the file already exists before creating a new one so that a reinstall doesn't get around your limitation.
Also, you can use the registry and set up a key for your app to store this number.
You can also set up a date-limited usage in much the same way.
Like I said, this is easily foiled if someone wants to spend some time figuring it out. But if you take precautions such as putting the file in a good place, and naming the file something non-descript, I've found that it works pretty well.
Hope this helps.