Я пытаюсь подать заявку, максимально легкую развертываться для Windows, и я пытаюсь выбрать между упаковкой приложения как .exe или использование установщика. Я задавался вопросом, были ли у кого-либо мнения об относительных достоинствах так или иначе? Мое предпочтение состояло бы в том, чтобы использовать .exe, поскольку это будет просто щелчком и работать за пользователем.
Установщик потребуется только в том случае, если у вас есть много компонентов, которые необходимо установить в определенных местах, или компонентов, которые необходимо зарегистрировать для их работы (например, компоненты COM, которые необходимо добавить в реестр). Установщик, очевидно, может также добавлять ярлыки к вашему приложению в меню «Пуск» и т. Д.
Если ваше приложение может существовать как один файл .exe, который можно запускать из любого места в файловой системе, это было бы намного проще и понятнее. решение для многих людей.
Имейте в виду, что менее опытные пользователи могут ожидать установщика и не понять, что в меню «Пуск» нет ссылок.
Если у вас нет зависимостей, не нужно добавлять / изменять данные в реестре, не нужно выполнять очистку после удаления приложения / update, то использование только .exe кажется вполне разумным.
В общем, с автономными исполняемыми файлами намного проще работать. Их легко перемещать, удалять, запускать с переносного диска и т. Д. Из-за отсутствия внешних зависимостей. Если вашему приложению не требуются настройки реестра или не требуется размещение определенных библиотек или вспомогательных утилит в системных папках, то автономный .exe
подойдет вашей проблеме.
Если вам и нужно изменить реестр, установить файлы в разные места, создать подпапки и т. Д., Тогда вам понадобится какой-то установщик.Если вы предоставляете установщик, убедитесь, что вы предоставили также и деинсталлятор (и убедитесь, что деинсталлятор не оставляет после себя потерянные записи в реестре или временные файлы).
Чтобы решить вашу проблему обоими способами, вы можете иметь однофайловый исполняемый файл, который устанавливается через установщик. Таким образом, вы получаете преимущества обоих подходов (не говоря уже о том, что в этом случае будет очень легко написать установщик). Я также видел некоторые приложения, которые доступны для загрузки либо в виде установщика, либо в виде простого исполняемого файла (позвольте пользователю выбрать предпочтительный вариант доставки).
Я просто предпочитаю иметь дело с отдельным exe, гораздо меньше хлопот, если вы можете обойтись без этого (т.е.: вы не зависите от множества других вещей).
Я занимаюсь разработкой под Windows не так давно, но одна проблема, с которой вы можете столкнуться, - это зависимости. Если, например, вы зависите от .NET 3.5, что делать, если у пользователя на компьютере не установлен .NET 3.5? В этом случае лучше использовать программу установки.