Каковы ограничения WiX и WiX Toolset?

Я безуспешно пытался найти статью или опубликовать список функциональных ограничений WiX (Windows Installer XML)/WiX Toolset. После использования WiX в течение нескольких недель я могу представить как минимум две ограничения в последней версии RTM (v3.0):

  • WiX Toolset не может создать bootstrapper (setup.exe).
  • WiX Toolset не может извлекать информацию о регистрации COM из COM исполняемого.

Можете ли вы представить себе другие ограничения? Что-то, с чем вы столкнулись во время работы над проектом развертывания? Я думаю, что эта информация может быть полезна для людей, которые изучают WiX.

Ответ 1

Мне легче всего ответить на этот вопрос с точки зрения отсутствия WiX, что у InstallShield (разрыв в функции).

  • Bootstrapper/Chainer - WiX имеет загрузочный носитель под названием Burn, который теперь включен в WiX v3.6.
  • XML Read - WiX имеет только CA для запись не чтения (AppSearch) XML файлы
  • Поиск текста/замена - InstallShield имеет шаблоны для чтения/записи, Файлы INI/XML
  • Только MSSQL - поддержка Oracle не поддерживается и MySQL
  • Интерфейс автоматизации - Нет DOM для программное обновление/генерация проекты. Приходится делать все с помощью сырья XML.
  • Нет поддержки Native IIS 7 - Встроенная поддержка IIS7 присутствует от WiX v3.5
  • В основном текстовый набор. Нет графического интерфейса пользователя Дизайнеры для тяжелой атлетики (см. IsWiX). XML является кратким и имеет но это похоже на сравнение "Блокнот" для смешивания.

Я использовал тепло, чтобы извлечь COM довольно успешно, чтобы больше не беспокоиться обо мне.

Ответ 2

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

  • Нет готового инструмента для встраивания преобразований (MST) в пакет MSI; здесь msidb.exe приходит на помощь
  • Вам нужно сделать дополнительную работу, чтобы создать единый пакет с несколькими локализациями, например, создавать N пакетов, генерировать N языковых преобразований против нейтрального пакета, вставлять эти преобразования в пакет, указывать вашему загрузчику называть правильный перевод языка
  • WiX 3.0 имеет довольно ограниченное расширение IIS - он поддерживает IIS 7 только в режиме совместимости с IIS 6; но, к счастью, это уже не так для WiX 3.5
  • Тепло не может генерировать "1 компонент - N файлов" по ​​умолчанию. Да, я знаю, это не рекомендуется, но иногда вам это нужно; к счастью, вы можете преобразовать тепловую мощность так, как вам нравится, с помощью XSL
  • В PermissionEx UtilExtension нет переключателя для установки списков ACL только в папках. Если вам нужно установить ACL только для ваших установленных файлов, это довольно незначительно. Но мне пришлось исправлять WiX с быстрым исправлением, чтобы иметь возможность сказать "применять эти разрешения только к папкам" в существующем дереве файловой системы.

Снова позвольте мне повторить, что я не считаю эти серьезные ограничения. Я очень доволен тем, что Роб и команда сделали до сих пор, и они на правильном пути!:)