garlic garlic - 8 months ago 25 Question

Which "Release" files to include in a Setup Project (Visual Studio)

I'm trying to make a Setup Project (Installer) using Visual Studio Community Edition 2015

When I Build my VB.NET (WinForms) project in Release mode, the following files are created:

  • MyApp.exe

  • MyApp.exe.config

  • MyApp.pdb

  • MyApp.vshost.exe

  • MyApp.vshost.exe.config

  • MyApp.vshost.exe.manifest

  • MyApp.xml

Which of these files should I add to my Setup Project? All of them?
What are the vshost.exe files?
I understand the .config file, which is used for saving settings, but what's with the .xml file?

Also, I want my user settings (config file, set to "User Scope") to be unique for each account in Windows. Do I just put the .config file in the Application Data Folder? (I tried that, and it draws a blue line below the .config file name).


As far as I know the only file you really need is MyApp.exe. If you need debug information (which is good if you for example want to know at which line an exception occurred, or you want a more precise stack trace) you can also copy the MyApp.pdb file.

The .vshost-files are just for the Visual Studio Hosting Process. They're only used in the development environment when debugging your application, so you don't need them.

As for the settings, they are auto-generated for each new user, so you won't need that file either.

Finally, the .xml file is also just a file used in the development environment. It contains XML comments used by the IntelliSense for it to be able to display custom descriptions when showing your custom classes/methods/variables/etc.

So in conclusion you really only need MyApp.exe and possibly MyApp.pdb.