Опыт работы с Wix# WixSharp по сравнению с WiX
мы используем Inno Setup и планируем заменить его на WiX. Но при оценке и игре с WiX я чувствовал, что декларативный способ имеет некоторые ограничения по сравнению с программными установочными решениями.
кроме того, я обнаружил, что документация WiX довольно разрежена. Поэтому я наткнулся на Wix# (WixSharp), который обещает создать исходный код WiX программно через файлы сценариев, написанные на C#.
однако мы имели некоторые отрицательные опыты с очень небольшие компании и даже "шоу одного человека". Поэтому я просто хотел спросить о вашем опыте работы с Wix# (WixSharp) или даже другими хорошими альтернативами. Можете ли вы сообщить о некоторых преимуществах или ограничениях?
2 ответов
Wix# выглядит как импровизационно хорошая ставка на счет" будет ли это в следующем году"; см. ниже. И обратите внимание, что пользовательские действия теперь довольно просты для сборки в Wix#.
из этой статьи: http://www.codeproject.com/Articles/31407/Wix-WixSharp-managed-interface-for-WiX
в июле 2014 Wix# был переиздан под более либеральной лицензией MIT, и теперь он размещен на CodePlex. https://wixsharp.codeplex.com/
In Август 2014 UI расширения для Wix# были выпущены и описаны в этой статье CodeProject: "Wix# (WixSharp) UI Extensions".
http://www.codeproject.com/Articles/804584/Wixsharp-WixSharp-UI-Extensions
тот факт, что новые функции Wix# выходят, хорошо говорит о продукте.
поскольку Wix# построен поверх технологии Wix и установщика Windows, он может делать только то, что возможно в WiX. Когда у Wix# закончится бензин... WiX может сделать много вещи, которые не доступны непосредственно в синтаксисе Wix# C#, поэтому вы можете использовать технологию Wix XML непосредственно для преодоления разрыва. Также см. Мой ответ здесь для дополнительных примеров создания Wix# generate .WXS XML, а затем включая дополнительный код Wix XML и вызов свечи и света для создания результирующего объединенного XML в MSI. программно построение MSI
Ниже приведен быстрый, неисчерпывающий список Wix и Wix# плюсы и минусы, которые у меня есть испытали до сих пор.
WiX/ Wix # Pros:
- он генерирует реальные файлы MSI установщика Windows.
- на удалить функция "свободный"; вы автоматически получаете надежный деинсталлятор.
- администраторы сервера в моей среде легко принимают файлы MSI для вещей, которые я как разработчик хочу установить, потому что они доверяют технологии MSI и функции удаления.
- записи реестра Windows включены в" бесплатную " деинсталляцию, которую вы получаете, Если вы создаете их с помощью синтаксиса WIX или Wix# native и не сливаетесь .reg файлы, вы не получите запись в реестр удалить таким образом.
WiX / Wix# Минусы
- поскольку он ограничен набором функций установщика Windows, некоторые "процедурные" вещи сложнее сделать в WiX и Wix#
Плюсы Уикс
- много примеров и ресурсов поддержки ("Как я .. в WiX") доступны в Интернете.
- утилиты для сбора записей реестра и ввода в XML-операторы WiX работают хорошо.
Викс Минусы
- как разработчик C#, я нашел Wix XML неинтуитивным для начала работы с, работа непосредственно с XML-файлами. Wix# и C# имели больше смысла чем WiX в начале.
Wix# Pros
- пользовательские действия теперь просты для реализации в На Wix#.
- Wix# аккуратно интегрируется с Visual Studio. В настоящее время я использую его с VS2013.
- Wix# и C# имели больше смысла, чем Wix XML в начале. Лучшая отправная точка.
- Wix# помогает мне изучать WiX более доступным способом. Просмотр того, что работает и не работает в Wix#, помогает понять WiX.
Wix# Cons
- примеры Wix# в настоящее время намного сложнее найти в Интернете. Часто это необходимо чтобы исследовать руководство WiX, а затем выяснить, как применить его к Wix#.
- я не нашел автоматического пути для сбора записей реестра и выражения в коде WiX# C#. Я перевел .reg-файл записи вручную. Необходимо иметь записи реестра в операторах Wix# "RegValue (", чтобы получить возможность автоматического удаления для записей реестра. Примечание: разработчик добавил эту функцию в январе 2015 года выпуска. Я не пробовала еще.
Я скажу, что делать вещи в WiX / Wix#, которые были простыми и очевидными в процедурных установщиках, таких как NSIS, и установщики на основе сценариев прошлого поколения (например, более старые версии Wise) часто требуют дополнительных исследований и творчества в WiX/Wix#.
в целом, я ставлю на Wix# как технологию роста и безопасную ставку для текущего и будущего использования. В худшем случае, у тебя все еще будет твой .wxs-файлы, и может перейти на использование прямого подхода WiX XML к строительство монтажников, и вы все равно получите ценность от инвестиций Wix# time.
последние обновления продукта Wix# для общих задач установки
по состоянию на январь 2015 года. См.: [https://wixsharp.codeplex.com/releases/view/610843][1]
- теперь можно импортировать .файл параметров реестра reg вместо записей класса реестра ручной кодировки
- дополнительная поддержка изменений файлов конфигурации Windows
- конкретная поддержка установки служб Windows
- поддержка передачи значений параметров в отложенные пользовательские действия, при этом вся инфраструктура поддержки WiX правильно генерируется автоматически
- поддержка абсолютного пути в целевом системном каталоге, со всей инфраструктурой поддержки WiX, правильно автоматически генерируемой
WiX существует уже довольно давно и имеет большую поддержку сообщества. Я занимаюсь настройкой (в свободное время :) ) около 8 лет и никогда не находил ничего, что я не мог разумно сделать в WiX.
Это первый раз, когда я видел WixSharp. Моя первая реакция была бы стабильной, учитывая, что на данный момент это 0.1.42. Я также был бы обеспокоен тем, насколько схема MSI фактически реализована в WixSharp. Это выглядит интересно, но мне было бы удобнее с XML-файл. Я действительно не вижу никакого преимущества, чтобы сделать это в C#.