Какие шаги следует предпринять при развертывании приложения Windows Forms? - PullRequest
4 голосов
/ 21 февраля 2011

Я завернул версию 1 своего настольного приложения, и он готов к развертыванию.

Просто для проверки, я взял содержимое папки / debug и скопировал ее в папку на целевом компьютере, и приложение работает.

Я уверен, что это не правильный способ сделать это.

Я создал проект установщика Visual Studio и также создал его. У меня вопрос: нужно ли при развертывании приложения устанавливать что-то похожее на debug = false в ASP.Net?

Спасибо за предложения.

Ответы [ 5 ]

11 голосов
/ 21 февраля 2011

Существует несколько вариантов развертывания приложений .NET.Ваш подход часто называют «развертыванием xcopy» и представляет собой простую копию всех включенных файлов.

Обычно вы не копируете содержимое из папки отладки.Вместо этого вы изменяете комбо «Конфигурация решений» в Visual Studio с отладки на выпуск, компилируете приложение и вместо этого копируете файлы из папки «Выпуск».

При создании сборки выпуска вашего приложения компилятор применяет большеоптимизация кода для создания более эффективного исполняемого файла.

Существуют и другие методы развертывания.Вот некоторые из них, которые создают различные виды установщиков

  • ClickOnce (Щелкните правой кнопкой мыши ваш проект в обозревателе решений и выберите «Опубликовать»)
  • Проект установщика (создает установщик MSI)
  • WiX (также создает установщики MSI, более громоздкий, чем проект установщика, но более гибкий
  • и т. Д.

Преимущество созданияУстановщик заключается в том, что конечному пользователю обычно проще запустить установщик, чем скопировать свободную группу файлов. Установщик может автоматически создать значок в меню «Пуск», убедиться, что установлена ​​правильная версия .NET Framework и т. д..

Если вы хотите запускать приложение только на одном или не более чем на нескольких компьютерах, вероятно, не стоит дополнительной работы по созданию установщика.

3 голосов
/ 21 февраля 2011

Я бы сделал следующее при создании «релиз-кандидата» вашего приложения:

  • Создайте ветку или тег в репозитории управления исходным кодом, определяя конкретную сборку в качестве источника кандидата на выпуск. Ветвь хороша тем, что позволяет вам вносить изменения, необходимые для выпуска исходного кода, который вам не нужен в вашей среде разработки.
  • Настройте конфигурацию выпуска сборки вашего приложения. Среди прочего, да, это гарантирует, что константа компиляции DEBUG не установлена, поэтому ничего, что условно компилируется на основе этой константы, не будет. Поведение по умолчанию также заключается в оптимизации кода (более быстрое выполнение, без возможности отладки) и не генерировать PDB.
  • Сборка установщика. В идеале вывод установщика должен идти куда-то еще, чем основной вывод основного проекта.
  • Запустите установщик (это можно сделать из места его сборки). Он должен выполняться без ошибок и производить то, что вы ожидаете.
  • «Проверка дыма» приложения в установленном виде. По сути, выполните некоторые базовые операции, которые не изменяют слой данных, с которым он работает, что позволит убедиться в отсутствии серьезных проблем с приложением, возможно, вызванных отсутствующей DLL или неправильными строками подключения / настройками приложения.
  • Скопируйте установщик на флэш-накопитель достаточного размера и попробуйте ту же самую установку и проверку дыма на «девственном» компьютере, на котором не установлена ​​VS. В идеале, он должен максимально близко имитировать среду целевых машин.
0 голосов
/ 21 февраля 2011

Кроме того, если вы не хотите, чтобы кто-то занимался реинжинирингом вашего кода, вы можете использовать Dotfuscate.

0 голосов
/ 21 февраля 2011

Используйте Проект установки и развертывания .Таким образом, ваше приложение будет гарантировать, что у пользователя есть необходимые библиотеки.Он также загрузит требуемую версию .net, если она не установлена.

И всегда выпускайте версию «релиз», а не версию отладки.Копировать / Вставить из папки отладки не будет работать в случаях, и это не правильный способ выпустить приложение

0 голосов
/ 21 февраля 2011

Во-первых, вы не должны развертывать ассемблеры Debug. Вы должны построить в режиме выпуска. http://msdn.microsoft.com/en-us/library/wx0123s5.aspx

Я никогда не использовал проекты Installer, но я склонен больше ориентироваться на веб-ресурсы и консольные приложения. Надеюсь, у кого-то еще будет более подробный пост:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...