Создание установщика Windows для проекта Visual Studio - PullRequest
3 голосов
/ 14 июля 2009

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

Проблема в том, что большинство этих компонентов, по-видимому, распределены по-разному, поэтому мне нужен установщик, который может справиться со всем следующим. Я смотрел на различные вещи вокруг, однако многие, кажется, не покрывают все, что мне нужно (например, как установить DirectX с помощью проекта установки Visual Studio ...), или даже не создают надлежащий установщик Windows (например, MSI).

  • Скопируйте все мои файлы приложений в целевой каталог
  • Создание меню «Пуск» и ярлыков на рабочем столе
  • Установка прямой x (то есть вызов dxsetup.exe / silent)
  • Установите Redist VC9 CRT (кажется, что это «модуль слияния», смотрящий на msdn, что бы это ни было ...)
  • Требуются только административные права, если выполняется одно из следующих условий
    • DirectX и / или CRT VC9 еще не установлены или требуют обновления
    • Установка для всех пользователей
    • При установке в каталог пользователь не имеет разрешения на запись для
  • Может откатить все, если установка прервана до завершения
  • Создает не только установщик, но и установщик
  • Гарантирует, что пользователь принимает все необходимые лицензионные соглашения (мой, VC9 Redist, DirectX и т. Д.)

Например, я получил проект Setp VS2008, работающий для файлов моего приложения и CRT VC9, однако я не вижу, как сказать, чтобы он просто запускал dxsetup.exe с аргументом / silent и НЕ извлекал его и все остальные установщики dx в каталог приложения или что-то ...

EDIT:

Также было бы неплохо иметь единый установщик для x86 и x86-64, который устанавливает правильные компоненты (например, myapp_x86.exe или myapp_x64.exe) в зависимости от того, является ли ОС 64-битной или нет.

EDIT2:

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

Ответы [ 3 ]

5 голосов
/ 14 июля 2009

WiX - это то, что вы хотите. Вы захотите прочитать документацию и примеры v3, так как это не простая вещь для использования. Как только вы приступите к работе, у вас появятся дополнительные вопросы, которые вы должны опубликовать как новые вопросы.

См. Также учебное пособие по WiX , но имейте в виду, что оно относится к v2, и во многом оно устарело или устарело в v3.

2 голосов
/ 14 июля 2009

Если вы можете себе это позволить, Installshield делает все это очень хорошо и профессионально. Он будет включать в себя файл слияния, а также легко установить. У Installshield есть свои особенности, но он невероятно прост в использовании и надежен. Как только вы напишите свое приложение, вам не нужно много думать об установщике.

Мне понравились некоторые приятные функции

  • Создает установки исправлений, изменяя исходный код, чтобы вы могли распространять исправления небольшого размера.
  • Создание обновлений, которые обновляют реестр и номер версии вашего приложения. Запрещает установку более старых версий.
  • Создает хороший деинсталлятор.
  • Легко добавлять модули слияния.
  • Scriptable, если вам нужно, GUI, если нет (в большинстве случаев вам не нужно ничего писать в скрипте).

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

1 голос
/ 14 июля 2009
...