2009-02-20 4 views
11

Я собираюсь запустить новый проект InstallShield. Есть три варианта для типа проекта:Выбор типа проекта InstallShield

  1. Basic MSI
  2. InstallScript
  3. InstallScript-MSI

Каковы достоинства и недостатки каждого из них? Какой из них выбрать?

+0

Прочтите мои комментарии ниже. ** Избегайте типа проекта Installscript MSI любой ценой **. –

ответ

18

Basic MSI:

Это стандартный тип установки. Он использует установщик Windows для почти всей установки (предварительные требования, выбор языка и некоторые другие вещи обрабатываются программой setup.exe). MSI - это база данных со многими таблицами, в которой описывается, как работает установка. Количество таблиц может быть немного подавляющим сначала, но InstallShield делает хорошую работу по его абстрагированию; большую часть времени вам не нужно напрямую редактировать таблицы базы данных.

Это наиболее распространенный тип установки, поэтому имеется много информации об этом. InstallShield forum - отличный источник информации. Кроме того, во многих установках используются MSI, поэтому, если вы их понимаете, будет легче понять, что делают другие установки (например, если вам нужно установить MSI другого производителя в качестве части вашей установки). Мощные установки можно легко выполнить с помощью аргумента командной строки.

К сожалению, поскольку MSI контролирует установку через таблицы базы данных, есть немного кривой обучения. Если вам действительно нужно напрямую редактировать таблицы MSI, это может сбивать с толку вначале, так как существует множество таблиц, а некоторые из их целей и взаимодействий тонкие. Кроме того, создание и последовательность диалогов сложнее в MSI, поскольку все взаимодействия должны контролироваться таблицами. Пользовательские диалоги MSI могут быть созданы, но только в C++.

Я бы рекомендовал этот тип проекта для большинства целей.

InstallScript:

Эти проекты используют скрипт установки для установки программного обеспечения вместо Windows Installer. Поскольку сценарий установки представляет собой линейную программу, легче понять, как она работает. Одно из преимуществ этого типа проекта заключается в том, что создавать и упорядочивать диалоги проще. Кроме того, диалоги InstallScript могут быть обрезаны и выглядят немного лучше, чем диалоги MSI. Для запуска автоматической установки требуется отдельный «файл ответов» для управления пользовательским интерфейсом. Я бы не рекомендовал использовать этот тип проекта, если у вас нет конкретной причины (например, если вы должны очень точно контролировать поведение установки способом, не поддерживаемым MSI).

InstallScript MSI:

Это по существу проект Basic MSI, которая использует InstallScript для управления UI и MSI для управления фактической установки. Это имеет преимущество использования MSI для управления установкой, но работать с диалогами проще. Он по-прежнему требует файла ответов для управления пользовательским интерфейсом во время бесшумной установки. Если вам не нравятся тихие установки или сложная диалоговая последовательность пользовательского интерфейса, вы можете найти этот тип проекта полезным.

+5

Возьмите его из траншей: НЕ ВСЕГДА используйте Installscript MSI.Он чрезвычайно затруднен, он вызывает всевозможные проблемы для корпоративного развертывания и в целом поражает цель и преимущества MSI в качестве технологии развертывания. Я мог бы продолжать и продолжать, но не трачу ваше время. Поверьте мне на слово и спасите себе массу неприятностей. Выбор - это Basic MSI, если вам нужны возможности развертывания MSI или InstallScript, если вам нужен сценарий развертывания старого стиля. MSI имеет кривую обучения, но значительно улучшает корпоративное развертывание. –

+0

@ kevin-kibler Я понимаю, что это было какое-то время, но может ли это быть обновлено, чтобы охватить Advance UI Project? – x5657

+0

Извините, я не знаком с этим. Я не использовал InstallShield через несколько лет. Я использовал wix для обработки моих (очень ограниченных) потребностей установки в последнее время. –

Смежные вопросы