2016-05-13 6 views
3

Я пытаюсь сделать проект установки (Installer) с помощью Visual Studio Community Edition 2015Какие файлы "Release", чтобы включить в проект установки (Visual Studio)

Когда я построю VB.NET (WinForms) проект в режиме выпуска, создаются следующие файлы:

  • MyApp.exe
  • MyApp.exe.config
  • MyApp.pdb
  • MyApp.vshost.exe
  • MyApp.vshost.exe.config
  • MyApp.vshost.exe.manifest
  • myApp.xml

Какой из этих файлов я должен добавить в мой проект установки?Все они? Какие файлы vshost.exe? Я понимаю файл .config, который используется для сохранения настроек, но что с файлом .xml?

Кроме того, я хочу, чтобы мои пользовательские настройки (файл конфигурации, установленный в «Пользовательский охват») были уникальными для каждой учетной записи в Windows. Я просто поместил файл .config в папку данных приложения? (Я пробовал это, и он рисует синюю линию под именем файла .config).

+1

@ codeMonger123: Файлы '* .vshost. *' Предназначены только для _Visual Studio Hosting Process_. Зачем ему нужны те, кто находится вне среды разработки? –

+0

забыл его удалить. Ему нужен файл MyApp.exe.config. – codeMonger123

+0

@ codeMonger123: Не могли бы вы объяснить мне, почему? Я никогда не включал его в свои приложения. –

ответ

3

Насколько я знаю, единственный файл, который вам действительно нужен, - MyApp.exe. Если вам нужна отладочная информация (что хорошо, если вы, например, хотите знать, в какой строке произошло исключение, или вы хотите получить более точную трассировку стека), вы также можете скопировать файл MyApp.pdb.

.vshost -файлы только для Хостинг Visual Studio. Они используются только в среде разработки при отладке вашего приложения, поэтому вам не нужны.

Что касается настроек, они автоматически генерируются для каждого нового пользователя (таким образом, они являются специфичными для пользователя, как вы хотите), поэтому вам также не понадобится этот файл.

И наконец, файл .xml также является файлом, используемым в среде разработки. Он содержит комментарии XML, используемые IntelliSense, чтобы он мог отображать пользовательские описания при показе ваших пользовательских классов/методов/переменных/и т. Д.

Таким образом, в заключение вам действительно нужно только MyApp.exe и, возможно, MyApp.pdb.

+0

Интересно, почему он генерирует файл .config, когда нет необходимости добавлять его в проект установки? – garlic

+0

@garlic: содержит ли файл '.config' ваши настройки? Если это так, вероятно, потому, что Visual Studio хочет отслеживать все во время отладки. При использовании вне среды VS настройки автоматически создаются (если они не существуют) в папке «Локальные данные приложения» текущего пользователя. Таким образом, они специфичны для пользователя. –

+0

Да, файл .config в папке «Релиз» содержит мои настройки, настройки по умолчанию, которые я хотел бы, чтобы мои пользователи увидели, когда программа запускается впервые. – garlic

1

Вам не нужны эти

MyApp.vshost.exe 
MyApp.vshost.exe.config 
MyApp.vshost.exe.manifest 

Пример

http://stackoverflow.com/questions/774187/what-is-the-purpose-of-vshost-exe-file 

Вы должны только нужно: MyApp.exe MyApp.exe.config MyApp.pdb myApp.xml

+0

Как насчет файла 'MyApp.exe.config'? Если я поместил это в ту же папку, что и мой основной исполняемый файл (Program Files), как программа внесла бы изменения в этот файл настроек, если пользователь не является администратором? Если я поместил этот файл конфигурации в папку «Данные приложения», Project Setup (Visual Studio) помещает строку с наивысшей строкой в ​​имя файла без фактического описания ошибки. – garlic

+0

Какие изменения вы хотите сделать, если пользователь не является администратором? Файл должен находиться в той же папке, что и ваш главный exe – codeMonger123

+0

Я вношу изменения через управляемый код (My.Settings), например: чтобы сохранить проверочное значение CheckBox государство. Когда я использую My.Settings. , я сам не меняю файл самостоятельно, он выполняется через управляемый код за кулисами .NET. Поэтому, если файл .config находится в том же месте, что и основной исполняемый файл, сохранение этого параметра приведет к возникновению проблем с правами, если пользователь не является администратором. Я не хочу, чтобы мой пользователь запускал мою программу в качестве администратора, чтобы сохранить настройки. Или я чего-то не хватает? – garlic

2

Лучше, если вы правильно настроили свой проект, поэтому вам не нужно гадать. Убедитесь, что выбран вариант Release.Затем:

  • Используйте Project> Properties> вкладку Debug, отключите опцию «Включить хостинг Visual Studio».
  • Используйте Project> Propeties> вкладка Compile> Advanced Compile Options, Generate debug-info = None.
  • Используйте «Проект»> «Свойства»> вкладку «Компиляция», отключите опцию «Создать файл XML-документа».
  • Использование сборки> чистые. Удалите оставшиеся файлы vshost вручную.
  • Используйте Build> Build. Должны быть только файлы .exe и .config.
  • -