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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам