There is countless ways which you can do this.
One provided by Microsoft that even Google Chrome uses is called ClickOnce.
There are numerous tutorials online below is just a few:
- ClickOnce MSDN, http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.90%29.ASPX
- http://weblogs.asp.net/shahar/archive/2008/01/29/how-to-use-clickonce-to-deploy-your-applications.aspx
- http://www.c-sharpcorner.com/uploadfile/37db1d/deploying-wpf-application-with-clickonce-deployment-techniques/
There are other third party frameworks too as an example see http://autoupdaterdotnet.codeplex.com/
A good question in stack about alternatives to clickonce is a good start if ClickOnce is not what you are looking for: What alternatives are there to ClickOnce?
As commented by other posters you can see other questions in stackoverflow about this topic.