title: How can I properly publish my Windows desktop application in such a way that will ensure the end user has the right files needed to run it?
body: <p>I have created a small desktop application using .NET 4 for generating an authentication string. It runs fine on my Windows 7 computer, however when I deployed it to our QA guy on his Vista machine, it gave him an error saying he needed to install .NET 4... FAIR ENOUGH. We installed .NET 4, however the next error said that "Microsoft.Web.Infrastructure.dll" was missing from the GAC. Crap. So I poked around a bit and found this:</p>
  
  <p><img src="https://i.stack.imgur.com/f0QqE.png" alt="enter image description here"></p>
  
  <p>I then set Publish Status of Microsoft.Web.Infrastructure.dll to Include and published again. This time it gave him an error about "System.Web.Mvc"! So I knew I was on to something. So I went and did this:</p>
  
  <p><img src="https://i.stack.imgur.com/9LHIU.png" alt="enter image description here"></p>
  
  <p>However, now when he runs it it just says it can't download files required to run the application, and will not specify what they are!</p>
  
  <p>How can I properly publish my Windows desktop application in such a way that will ensure the end user has the right files needed to run it?</p>
  
  <p>Note: I think Razor and MVC are included because this windows desktop app project is dependent on some other projects in this solution that are using MVC. (Basically this desktop app is using some of the Models.)</p>
  
  <p><strong>Edit</strong>: Here is the end result (README was added by me not VS)</p>
  
  <p><img src="https://i.stack.imgur.com/3BIJS.png" alt="enter image description here"></p>