Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 29.07.13 13:12
Оценка: 57 (24) +17 :))) :))) :))) :))) :))) :))) :)
Вот какой расклад. Есть у меня продукт, ориентированный на Microsoft-centric корпоративный рынок (HgLab). Правилом хорошего тона там является наличие установщика в виде MSI-пакета, коий я и пытаюсь сочинить уже практически неделю.

Я считаю себя неглупым человеком. Плюс, за годы у меня (как и у многих, думаю) выработался инстинкт, которой периодически подсказывает, что, мол "вот то, что ты делаешь -- слишком сложно, давай-ка поищи решение попроще". И вот в случае с WiX/MSI это чутье начало давать сбои; как-то не выходит продраться через этот лес отсутствия логики, дизайна и здравого смысла. Поначалу я чувствовал себя умственно отсталым. Как же так? Хвалят же, разбираются же, пишут же инсталляторы -- а у меня не выходит... А потом я постиг дзен.

При работе с WiX/MSI нет простых способов сделать что бы то ни было. Абсолютно. Если есть два относительно простых и логичных пути сделать что-то, то MSI пойдет по своему, третьему и абслютно неадекватному. Набор стандартных, единообразных, диалогов и элементов оформления? Нет, рисуйте все сами. Нормальная поддержка кнопки "Назад"? Увы. Взаимоисключающие компоненты? Обойдетесь. Локализация? И не вспоминайте. Единый установщик для 32 и 64 бит? Не в этой жизни. Зависимости? Мимо. Хоть сколько-нибудь сложные выражения? Да ну откуда...

Но зато! Рассовать весь инсталлятор по таблицам? Да-да-да, и побольше! Установка по требованию пользователя (advertised)? Пожалуйста, это очень нужная в 90% возможность. Алогичные правила по установке и удалению ярлыков и файлов? Сколько угодно! Три варианта апгрейдов? Извольте! Поддержка имен 8.3? Конечно-конечно. Пакеты трансформаций? К вашим услугам!

Вот к каким выводам я пришел (извините, наболело).

MSI — overengineered bloatware с тянущимися со времен Windows 95 потрохами и костылями, отрезать которые Microsoft не в состоянии в силу своей ненормальноый привязанности к обеспечению обратной совместимости; MSI был создан самыми лучшими, самыми высоколобыми архитектурными астронавтами и написан худшими, рукожопейшими индусами; MSI вобрал в себя худшее из пакетных менеджеров, бандлов, установок в стиле Windows 3.11 и DOS; MSI загажен необъясинмыми противоречиями и ограничениями.

И вот поверх всего этого угара мы имеем WiX, который вроде как "зе бест"" для создания пакетов MSI, а на деле оказывается тонюсенькой прослоечкой. Никакой абстракции, никакого упрощения жизни для того подавляющего большинства вариантов использования, когда надо сказать "вот мои скомпилированные артефакты, собери из них установщик и не канифоль мне мозги гуидами, компонентами, директориями и keyPath'ами". Нет. Мы просто берем "реляционные" таблицы из MSI и напяливаем их на чрезвычайно человеколюбивый XML. Попутно не забываем обо всех косяках и идиосинкразиях исходного формата и гордо выставляем их напоказ. А, и еще называем все утилиты из toolchain'а невообразимыми и незапоминающимися именами (votive? candle? light? tallow? mallow? упоролись все?) и -- вуаля! -- получаем WiX.

Все это очень печально, господа. Так не должно быть.
HgLab: Mercurial Server and Repository Management for Windows
Re[4]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 23.07.14 18:59
Оценка: 1 (1) +1 -5 :)
K>То есть в руках тех, кто написал MSI.
У нас десяток инсталяций написан на WIX.
Проблем не испытываем.
MSI работает нга миллиардах компьютеров и на данный момент система инсталяций номер один в мире.
Если вы её не понимаете или не умеете использовать то в этом вина только лично ваша.
Забавно иногда наблюдать как люди выдают свои собственные неудачи либо глупость за чужие ошибки...
Народная мудрось
всем все никому ничего(с).
Re: Дзен WiX/MSI
От: Matrix_Failure http://matrixfailure.wordpress.com/
Дата: 03.07.14 07:52
Оценка: +4 -2
Здравствуйте, Нахлобуч, Вы писали:

Н>Вот какой расклад. Есть у меня продукт, ориентированный на Microsoft-centric корпоративный рынок (HgLab). Правилом хорошего тона там является наличие установщика в виде MSI-пакета, коий я и пытаюсь сочинить уже практически неделю.



Дзен в том что MSI просто не нужен!.



ps: самый первый свой инсталлер еще в 90-х годах прошлого века я делал на Installer VISE — MindVision (a справку в HelpScribble).
Потом в двухтысячных перешли на InnoSetup.
Сейчас 2014 год, у нашей программы тысячи пользователей, и ни одной жалобы на EXE инсталлятор сделанный InnoSetup-ом, подписанный сертификатом для подписи кода.
Причем по ходу дела добавляли туда дополнительный функционал на встроенном Pascal-подобном языке.
В дальнейшем может быть будем смотреть на кросс-платформенные инсталляторы. Опять же там MSI — не пришей кобыле хвост.
Re: Дзен WiX/MSI
От: baily Россия  
Дата: 29.07.13 16:18
Оценка: 1 (1) +3 -1
И согласен и не согласен.

Сам одно время имел дело с инсталляторами и постарался избегать их, по возможности.
Основная проблема в том, что на первый взгляд кажется, что написать инсталлятор — плевое дело.
Распаковал файлики, прописал что надо в реестр и вуаля!!!

Однако, не все так просто. К инсталлятору предъявляется огромное количество требований.
Этих мелочей — вагон и маленькая тележка.
Как вести себя при обновлениях разного рода? Тут тебе и minor/major upgrade, и maintenance случай.
downgrade-случай. Возможны и минипатчи. И то, что кто то руками подменил файлики.
Что делать если некоторый файл нельзя удалить/скопировать?
Надо избежать, по возможности перезагрузок.
При сбоях любого рода и на любом этапе оставить систему в валидном состоянии.
Крайне желательно, чтобы был откат к состоянию до начала некорректной установки.
Особый случай — установка всяких пререквизитов. Их тоже надо уметь откатывать.

Таким образом, процесс гораздо сложнее, чем кажется.
Поэтому в msi сознательно используется декларативный язык, чтобы была возможность описать,
что именно хочется. А сама реализация оставлена недоступной, чтобы оградить от ненужных подробностей.
В большинстве случаев, когда не требуется ничего сверхмудрого, проблем не возникает.
Все можно сделать достаточно шустренько.

А вот если надо сделать шаг в сторону, то уйти от сложных подробностей не удастся.
Впрочем, они не столь и сложные. Со временем рука набивается.
Но времени на их освоение затратить придется.
Re[6]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 26.07.14 08:53
Оценка: -5
Н>Чья вина в том, что пакет MSI нельзя "скомпилировать" для x64 и x86 одновременно? Или в том, что Minor Upgrade простым дабл-кликом не запустить? Или пляски с TARGETDIR?
Вина ваша, в том что вы с какого то перепугу решили что вам кто то должен причём решили и даже не удосужились разобраться с сути вопроса.
Ещё раз повторюсь, 99% людей тут не понимают что такое Windows installer. Не понимают ни архитектуры ни хотя бы примерно маштаб задач которые он решает.
Огромное количество инсталяций пишутся на Wix/Windows Installer, у нас например, в самом микрософте, Visual Studio, все апдейты виндов.
И если вы чего то не понимаете это не значит что это проблема Windows Installer а значит что это проблема лично ваша.
Что касается проблем описаных у топик стартера — опять же непонимание как использовать Windows Installer.
Незнание что такое msi пакет и незнание что в мире существуют бутстрапперы, в том же Wix есть оч мощный бутстраппер.
Народная мудрось
всем все никому ничего(с).
Re: Дзен WiX/MSI
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 30.07.13 10:06
Оценка: 4 (3) +1
Это вы, батенька, только начали.

Я курирую создание инсталляторов для компании, в которой работаю, уже несколько лет. И могу утверждать, что самое интреенсое вас ждет месяца через 2-3. Разделение установки на клиентскую и серверную часть. Скрипт установки. Deferred и Immediate custom actions. Поиск места, куда установить "RemoveExistingProducts". Логика апгрейда файлов. Key paths. Бутстраперы... Крепитесь.

Тут высказали мнение "покупайте InstallShield и все у вас будет". У нас куплен InstallShield. Оно "будет" для проектов вида "hello world". Шаг влево / шаг вправо — и нужно снова лезть во внутренности SQL табличек, только в отличие от WiX тут будут еще и IS-специфичные таблички и custom actions которые будут все портить .
Re: Дзен WiX/MSI
От: kleng  
Дата: 27.06.14 21:00
Оценка: 1 (1) +2
Здравствуйте, Нахлобуч, Вы писали:

И не забываем про его великолепное, потрясающее быстродействие. Десятки минут, чтобы удалить несколько папок с файлами — где вы еще такое увидите? У меня иногда возникает подозрение, что файлы не удаляются, а запаковываются и отправляются на сервер компании для повторного использования.
Re[7]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 26.07.14 09:45
Оценка: +3
Здравствуйте, Tom, Вы писали:

Tom>Огромное количество инсталяций пишутся на Wix/Windows Installer, у нас например, в самом микрософте, Visual Studio, все апдейты виндов.

:mad_button:

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

У меня этот кретинский update на абсолютно чистой лицензионной Win7 Ultimate не может без ошибок установить все пакеты обновлений.

Tom>И если вы чего то не понимаете это не значит что это проблема Windows Installer а значит что это проблема лично ваша.

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

Неудивительно, что Chrome OS и Mac OS X всё более и более рулят. Там разработчиков не насилуют анально при попытке создать простой инсталлятор.
Sapienti sat!
Re[8]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 26.07.14 11:35
Оценка: -3
C>Команду, которая пишет апдейты Виндов, надо расстрелять, повесить, сжечь заживо, утопить, а потом ещё прибить осиновым колом, чтобы не выбрались из гроба. ВСЮ команду и всех их менеджеров.
Обычно те кто считает других глупыми отличаются не сильным умом...

C>У меня этот кретинский update на абсолютно чистой лицензионной Win7 Ultimate не может без ошибок установить все пакеты обновлений.

А у меня может. Вы вообще хотя бы примерно себе представляете маштаб проблемы поддержки виндов и распространения апдейтов?

Tom>>И если вы чего то не понимаете это не значит что это проблема Windows Installer а значит что это проблема лично ваша.

C>Если с инструментом не могут разобраться большинство его пользователей, то этот инструмент подлежит закапыванию в гробик. В случае с MS многим приходится его использовать.
У вас вообще всё хорошо? Вы в одном сообщении захотели "расстрелять, повесить, сжечь заживо, утопить, а потом ещё прибить осиновым колом" а потом ещё и "закапыванию в гробик". Как по мне так это юношеский прыщавый максимализм и признак абсолютного не профессионализма.

C>Неудивительно, что Chrome OS и Mac OS X всё более и более рулят. Там разработчиков не насилуют анально при попытке создать простой инсталлятор.

Простой ингалятор без проблем прекрасно делается с использованием Windows installer, если у вас это не получается это не проблема Windows installer это проблема вашего ума.
Народная мудрось
всем все никому ничего(с).
Re[3]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 06.08.13 09:53
Оценка: 4 (2)
Здравствуйте, iconix, Вы писали:

I>Советую CreateInstall. Дешево и просто.


Чем он лучше бесплатного InnoSetup?
HgLab: Mercurial Server and Repository Management for Windows
Re[15]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 28.07.14 10:50
Оценка: 1 (1) +1
Здравствуйте, Tom, Вы писали:

C>>Масштабы позора несопоставимы. У меня, блин, абсолютно тупая установка Windows — и на неё патчи нельзя нормально наложить. При этом сам процесс обновления (того что накладывается) занимает порядка 3 часов. Это не просто fail, а уже даже не epic fail.

Tom>Согласен, это epic, но проблема 99.999 в том что вы что то делаете не так.
Tom>Расскажите подробнее что вы делаете, какой тип обновления выбрали и почему, что за файлы обновляете.
ЧТО? Я тупо беру чистую Windows с сайта MS, ставлю и накатываю обновления. Всё. Из самодеятельности — выбрал украинскую, русскую и китайскую локализации в настройках языковых пакетов.

Кстати, это нормально, что обновления даже в штатном режиме не могут все устанавливаться за раз?

Tom>У нас очень большой сайт обновляется секунды.

Не верю. Одно создание точки восстановления (которая один фиг ничего не восстанавливает) занимает минуты.

C>>И это не у одного меня проблема, из-за глюков Windows Update даже в суд подавали на Microsoft.

Tom>Лучше бы документацию читали. Это более продуктивно.
Microsoft судили за то, что WU помечал обновления как "успешно установленные", хотя при их установке возникала ошибка.

C>>Можешь ещё у Sinclair'а почитать про MSI. Он очень хорошо про него пишет.

Tom>Я могу не то что читать про MIS я про него писать могу. Мне не надо читать.
Да-да.

Tom>Я неплохо владею и не первый год использую и Wix и Msi и пока никаких проблем серьёзных не обнаруждено.

Tom>Было несколько точнее но все были из за наших кривых рук и нашего невежества.
Ага, конечно. Я без проблем делаю инсталляторы для Linux разных версий и OS X. Так что у меня есть с чем сравнивать — угрёбищнее MSI нет НИЧЕГО.

Для примера, как прилинковать серию диалогов из merge-модуля с несколькими диалогами из основного? С нормальной поддержкой кнопки "Назад". Или как из одного merge-модуля передать значение в другой?

Да, про мелочи типа НАЗВАНИЙТОЛЬКОВВЕРХЕМРЕГИСТРЕ для публичных свойств я умолчу.
Sapienti sat!
Re[2]: Дзен WiX/MSI
От: baily Россия  
Дата: 29.07.13 16:20
Оценка: +2
Здравствуйте, RiNSpy, Вы писали:

RNS>Здравствуйте, Нахлобуч, Вы писали:


Н>>Вот какой расклад. Есть у меня продукт, ориентированный на Microsoft-centric корпоративный рынок (HgLab). Правилом хорошего тона там является наличие установщика в виде MSI-пакета, коий я и пытаюсь сочинить уже практически неделю.


RNS>Всё это сделано, чтобы вы купили InstallShield. Причём профессиональную версию. Стоит он совсем недёшево, но альтернатив, насколько я понимаю, нет.


Не сказал бы, что InstallShield сильно поможет. С ним написать инсталлятор тоже не проще. Может даже и сложнее.
Там еще бывает и баги самого InstallShield вылазят, с которыми сложно бороться.
Re[2]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 23.06.14 19:07
Оценка: +1 :)
Здравствуйте, Eye of Hell, Вы писали:

EOH>Deferred и Immediate custom actions. Поиск места, куда установить "RemoveExistingProducts". Логика апгрейда файлов. Key paths. Бутстраперы... Крепитесь.


Как в воду глядели... Хочется убивать, меееедленно.
HgLab: Mercurial Server and Repository Management for Windows
Re[5]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 25.07.14 13:39
Оценка: +2
Здравствуйте, Tom, Вы писали:

Tom>Если вы её не понимаете или не умеете использовать то в этом вина только лично ваша.


Ух ты.

Чья вина в том, что пакет MSI нельзя "скомпилировать" для x64 и x86 одновременно? Или в том, что Minor Upgrade простым дабл-кликом не запустить? Или пляски с TARGETDIR?
HgLab: Mercurial Server and Repository Management for Windows
Re[11]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 27.07.14 06:38
Оценка: +2
Здравствуйте, Tom, Вы писали:

C>>А у меня не может. И масштаб представляю, так как вижу перед глазами Андроид, Debian и Mac OS X. Они все работают на порядок лучше.

Tom>Вы видимо всё таки совсем не представляете маштабы. Microsoft поддерживает OS по 10 лет.
RedHat тоже поддерживает ОС по десять лет. Однако, у них пакеты обновлений всегда ставятся без ошибок.

Казалось бы, огромное количество устройств с Windows должны было бы стать стимулом написать что-то более устойчивое, чем WU. Но нет.

C>>Нет, это безэмоциональная объективная оценка. Эмоциональная будет совсем нецензурной.

Tom>Хотите без эмоций — я только ЗА.
Tom>Можно пройтись по всем вашим претензиям к WI и обсудить что и как надо делать.
Самое оптимальное — то как сделано у RedHat. Тупо, просто, надёжно.

Tom>>>Простой ингалятор без проблем прекрасно делается с использованием Windows installer, если у вас это не получается это не проблема Windows installer это проблема вашего ума.

C>>Простой — это копирование файлов с созданием одно ярлыка. А как начинается что-то сложнее, то уже всё.
Tom>Давайте на конкретных примерах. Я попытаюсь, если смогу, помоч.
Перечитай тему с начала. Я писал для MSI создатель инсталляторов, если что.
Sapienti sat!
Re: Дзен WiX/MSI
От: alex_public  
Дата: 29.07.13 21:51
Оценка: 3 (1)
Здравствуйте, Нахлобуч, Вы писали:

В принципе согласен, но хочу заметить что это всё происходит только в первый раз. Т.е. надо один раз посидеть основательно, чтобы составить один xml с подходящим вам инсталлятором. А дальше можно спокойно копировать его из проекта в проект меняя незначительные детали.
Re[2]: Дзен WiX/MSI
От: iconix http://www.aha-soft.com/
Дата: 05.08.13 19:32
Оценка: 1 (1)
Здравствуйте, RiNSpy, Вы писали:

RNS>Здравствуйте, Нахлобуч, Вы писали:


Н>>Вот какой расклад. Есть у меня продукт, ориентированный на Microsoft-centric корпоративный рынок (HgLab). Правилом хорошего тона там является наличие установщика в виде MSI-пакета, коий я и пытаюсь сочинить уже практически неделю.


RNS>Всё это сделано, чтобы вы купили InstallShield. Причём профессиональную версию. Стоит он совсем недёшево, но альтернатив, насколько я понимаю, нет.


Советую CreateInstall. Дешево и просто.
Stock icon sets for web and app design
Re: Дзен WiX/MSI
От: landerhigh Пират  
Дата: 29.07.13 20:19
Оценка: :)
Здравствуйте, Нахлобуч, Вы писали:

Н>И вот в случае с WiX/MSI это чутье начало давать сбои; как-то не выходит продраться через этот лес отсутствия логики, дизайна и здравого смысла. Поначалу я чувствовал себя умственно отсталым. Как же так? Хвалят же, разбираются же, пишут же инсталляторы -- а у меня не выходит... А потом я постиг дзен.


Ага. Знакомо. Вообще, постичь WiX можно только одним способом — принятием позы лотоса и грудным пением "Оммммммм" в течение пяти минут каждый раз, когда начинает косить шиза. Ибо понять невозможно.

Другое дело, что все остальное еще хуже
www.blinnov.com
Re: Дзен WiX/MSI
От: fdn721  
Дата: 30.07.13 04:12
Оценка: +1
Есть же NIS. Всё просто и понятно.
Re[2]: Дзен WiX/MSI
От: mike_rs Россия  
Дата: 03.07.14 07:57
Оценка: +1
Здравствуйте, Matrix_Failure, Вы писали:

M_F>Дзен в том что MSI просто не нужен!.


а как собираетесь с помощью innosetup устанавливать в домене через автоматическую установку / групповые политики ? Там только msi нужен.
Re[10]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 05:31
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Tom, Вы писали:


C>>>У меня этот кретинский update на абсолютно чистой лицензионной Win7 Ultimate не может без ошибок установить все пакеты обновлений.

Tom>>А у меня может. Вы вообще хотя бы примерно себе представляете маштаб проблемы поддержки виндов и распространения апдейтов?
C>А у меня не может. И масштаб представляю, так как вижу перед глазами Андроид, Debian и Mac OS X. Они все работают на порядок лучше.
Вы видимо всё таки совсем не представляете маштабы. Microsoft поддерживает OS по 10 лет.
Производители телефонов обновляют OS пару раз максимум. Срое поддержки хорошо если 2 года, и то это в лучшем случае.
Например, мой Galaxy Note 1 получил только ОДЛНО обновление OS за всю его историю...

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

Tom>>У вас вообще всё хорошо? Вы в одном сообщении захотели "расстрелять, повесить, сжечь заживо, утопить, а потом ещё прибить осиновым колом" а потом ещё и "закапыванию в гробик". Как по мне так это юношеский прыщавый максимализм и признак абсолютного не профессионализма.
C>Нет, это безэмоциональная объективная оценка. Эмоциональная будет совсем нецензурной.
Хотите без эмоций — я только ЗА.
Можно пройтись по всем вашим претензиям к WI и обсудить что и как надо делать.

C>>>Неудивительно, что Chrome OS и Mac OS X всё более и более рулят. Там разработчиков не насилуют анально при попытке создать простой инсталлятор.

Tom>>Простой ингалятор без проблем прекрасно делается с использованием Windows installer, если у вас это не получается это не проблема Windows installer это проблема вашего ума.
C>Простой — это копирование файлов с созданием одно ярлыка. А как начинается что-то сложнее, то уже всё.
Давайте на конкретных примерах. Я попытаюсь, если смогу, помоч.
Народная мудрось
всем все никому ничего(с).
Re[9]: Дзен WiX/MSI
От: RonWilson Россия  
Дата: 27.07.14 06:47
Оценка: +1
Здравствуйте, Tom, Вы писали:

Tom>>>Огромное количество инсталяций пишутся на Wix/Windows Installer, у нас например, в самом микрософте, Visual Studio, все апдейты виндов.

RW>>и каково соотношение CA и стандартных функций MSI в том же исталляторе VS?
Tom>Я не колупал его.

вот когда поколупаете тогда и напишите, насколько он написан из "коробки", а не сказки расказывайте про то, что все так замечательно. вот скажите сразу, без всяких CA как в окно воткнуть элемент, который будет показывать свободное место на выбранном диске, не дурацкую таблицу, которая вообще не работает, а просто статик с текстом.
Re[13]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 27.07.14 11:11
Оценка: +1
Здравствуйте, Tom, Вы писали:

C>>RedHat тоже поддерживает ОС по десять лет. Однако, у них пакеты обновлений всегда ставятся без ошибок.

Tom>Маштабы несопоставимы. Да и не думаю я что у них никогда ни у кого не возникало проблем.
Масштабы позора несопоставимы. У меня, блин, абсолютно тупая установка Windows — и на неё патчи нельзя нормально наложить. При этом сам процесс обновления (того что накладывается) занимает порядка 3 часов. Это не просто fail, а уже даже не epic fail.

И это не у одного меня проблема, из-за глюков Windows Update даже в суд подавали на Microsoft.

Tom>>>Давайте на конкретных примерах. Я попытаюсь, если смогу, помоч.

C>>Перечитай тему с начала. Я писал для MSI создатель инсталляторов, если что.
Tom>Тему читал, ни одной не решаемой проблемы не нашёл.
Можешь ещё у Sinclair'а почитать про MSI. Он очень хорошо про него пишет.
Sapienti sat!
Re[14]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 20:16
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Tom, Вы писали:


C>>>RedHat тоже поддерживает ОС по десять лет. Однако, у них пакеты обновлений всегда ставятся без ошибок.

Tom>>Маштабы несопоставимы. Да и не думаю я что у них никогда ни у кого не возникало проблем.
C>Масштабы позора несопоставимы. У меня, блин, абсолютно тупая установка Windows — и на неё патчи нельзя нормально наложить. При этом сам процесс обновления (того что накладывается) занимает порядка 3 часов. Это не просто fail, а уже даже не epic fail.
Согласен, это epic, но проблема 99.999 в том что вы что то делаете не так.
Расскажите подробнее что вы делаете, какой тип обновления выбрали и почему, что за файлы обновляете.
У нас очень большой сайт обновляется секунды.

C>И это не у одного меня проблема, из-за глюков Windows Update даже в суд подавали на Microsoft.

Лучше бы документацию читали. Это более продуктивно.

Tom>>>>Давайте на конкретных примерах. Я попытаюсь, если смогу, помоч.

C>>>Перечитай тему с начала. Я писал для MSI создатель инсталляторов, если что.
Tom>>Тему читал, ни одной не решаемой проблемы не нашёл.
C>Можешь ещё у Sinclair'а почитать про MSI. Он очень хорошо про него пишет.
Я могу не то что читать про MIS я про него писать могу. Мне не надо читать.
Я неплохо владею и не первый год использую и Wix и Msi и пока никаких проблем серьёзных не обнаруждено.
Было несколько точнее но все были из за наших кривых рук и нашего невежества.
Народная мудрось
всем все никому ничего(с).
Re[12]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 20:17
Оценка: :)
Здравствуйте, RonWilson, Вы писали:

RW>Здравствуйте, Tom, Вы писали:


Tom>>А в чём собственно проблема? Вы не знаете как задать произвольный текст у контрола в WI/Wix??? Если честно вопросы такого уровня просто смешно читать.


RW>код xml в студию

Код чего, того как обьявляется свойство в Wix? Не смешите мои тапки, это детский сад. Слюда лучше с адекватными вопросами.
Народная мудрось
всем все никому ничего(с).
Re[2]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 28.07.14 10:29
Оценка: +1
Здравствуйте, Tom, Вы писали:

Н>При работе с WiX/MSI нет простых способов сделать что бы то ни было. Абсолютно. Если есть два относительно простых и логичных пути сделать что-то, то MSI пойдет по своему, третьему и абслютно неадекватному. Набор стандартных, единообразных, диалогов и элементов оформления? Нет, рисуйте все сами.

Tom>Набор стандартных диалоговых окон есть в Wix-е, есть в куче продуктов которые строят в итоге MSI инсталляцию, в том же install Shield. Проблема непонятна и насосана из пальца.

Проблема в том, что в WI их нет. А степень "повторной используемости" диалоговых элементов в том же WiX'е может заставить плакать любого. Внимание, вопрос: как мне добавить чекбокс "Запустить моё приложение после завершения установщика" на последнюю страницу инсталлера?

Н>Нормальная поддержка кнопки "Назад"?

Tom>Эээээ а что есть нормальная поддержка и что не так с текущей???

Вот это:

      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" 
               Order="1">WixUI_InstallMode = "InstallCustom"</Publish>
      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg" 
               Order="2">WixUI_InstallMode = "InstallTypical" OR WixUI_InstallMode = "InstallComplete"</Publish>
      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" 
               Order="3">WixUI_InstallMode = "Change"</Publish>
      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" 
               Order="4">WixUI_InstallMode = "Repair" OR WixUI_InstallMode = "Remove"</Publish>


-- ненормально.

Н>Увы. Взаимоисключающие компоненты?

Tom>Что такое взаимоисключающие компоненты? Опишите чего хочется достич я расскажу как это сделать.

Mutually Exclusive Components.

Н>Локализация? И не вспоминайте.

Н>Единый установщик для 32 и 64 бит?
Tom>Это задача не MSI это задача бутстраппера, прекрасно и легко решается. Хотите свой сделайте (минуты 5 потратить в студии) — хотите используйте Wix бутстраппер

А я считаю, что это задача инсталлера. Как быть? Плюс, зачем было городить весь этот огород с "декларативным инсталлятором", чтобы внезапно не смочь использовать одни и те же "декларации" на разных архитектурах?

Н>Не в этой жизни. Зависимости?

Tom>Зависимости опять же это задача бутстраппера. Опять же прекрасно решена в Wix-е.

Аналогично, это задача инсталлера. И в WiX'е она решена традиционным путём -- через жёппу.

Н>Мимо. Хоть сколько-нибудь сложные выражения? Да ну откуда...

Tom>Можно поподробнее какие выражения, и где и как вы их хотите применять.

Можно начать с ограничения на размер выражения в 255 символов.

Н>>Но зато! Рассовать весь инсталлятор по таблицам? Да-да-да, и побольше! Установка по требованию пользователя (advertised)? Пожалуйста, это очень нужная в 90% возможность. Алогичные правила по установке и удалению ярлыков и файлов? Сколько угодно! Три варианта апгрейдов? Извольте! Поддержка имен 8.3? Конечно-конечно. Пакеты трансформаций? К вашим услугам!

Tom>Вы будете удивлены но то что вы описали крайне важные фичи WI, вы не забывайте что винды работают очень хорошо в корпоративном секторе.

Какое отношение "работа в КС" связана с предметом обсуждения?

Tom>А там очень много важно, и административный инсталл и длугие.


"Другие" -- это что? Какие не-Microsoft приложения используют весь этот шлак в виде Merge Module'эй и прочей энтерпрайзнутой

Н>>Вот к каким выводам я пришел (извините, наболело).

Tom>Выводы ваши такие потому что у вас нет фактически опыта в release management-е, нормального серьёзного опыта.

Ad hominem, так и запишем.

Tom>У WI есть конечно свои особенности, связанные с тем что систему уже туева хуча лет но со своими прямыми обязанностями он прекрасно справляется.


"Особенности" начались сразу после рождения.
HgLab: Mercurial Server and Repository Management for Windows
Re[13]: Дзен WiX/MSI
От: RonWilson Россия  
Дата: 28.07.14 10:39
Оценка: +1
Здравствуйте, Tom, Вы писали:

RW>>код xml в студию

Tom>Код чего, того как обьявляется свойство в Wix? Не смешите мои тапки, это детский сад. Слюда лучше с адекватными вопросами.

что неадекватного в вопросе? приведите пример как объявить такое свойство, чтобы оно показывало свободное место на выбранном для установке диске. пока только слышу одни истерические вопли про то, какой MSI с Wix хороший, а ответа на "детский" вопрос что-то все нет.
Re: Дзен WiX/MSI
От: RiNSpy  
Дата: 29.07.13 13:23
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Вот какой расклад. Есть у меня продукт, ориентированный на Microsoft-centric корпоративный рынок (HgLab). Правилом хорошего тона там является наличие установщика в виде MSI-пакета, коий я и пытаюсь сочинить уже практически неделю.


Всё это сделано, чтобы вы купили InstallShield. Причём профессиональную версию. Стоит он совсем недёшево, но альтернатив, насколько я понимаю, нет.

Хотя нет, вспомнил удобную бесплатную туллзу, что когда-то использовал: http://dennisbareis.com/makemsi.htm
Re: Дзен WiX/MSI
От: fddima  
Дата: 29.07.13 13:33
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>MSI — overengineered bloatware с тянущимися со времен Windows 95 потрохами и костылями, отрезать которые Microsoft не в состоянии в силу своей ненормальноый привязанности к обеспечению обратной совместимости; MSI был создан самыми лучшими, самыми высоколобыми архитектурными астронавтами и написан худшими, рукожопейшими индусами; MSI вобрал в себя худшее из пакетных менеджеров, бандлов, установок в стиле Windows 3.11 и DOS; MSI загажен необъясинмыми противоречиями и ограничениями.

+1. Если не астронавтами — то как минимум космонавтами.

Н>И вот поверх всего этого угара мы имеем WiX, который вроде как "зе бест"" для создания пакетов MSI, а на деле оказывается тонюсенькой прослоечкой. Никакой абстракции, никакого упрощения жизни для того подавляющего большинства вариантов использования, когда надо сказать "вот мои скомпилированные артефакты, собери из них установщик и не канифоль мне мозги гуидами, компонентами, директориями и keyPath'ами". Нет. Мы просто берем "реляционные"

На самом деле во многом теперь всё стало намного проще, чем скажем года 4 назад. Я раньше занимался им довольно плотно, но уже всё благополучно забыл. =) Простенький инсталлятор с регистрацией сервиса (в этом году) — у меня занял 200 строк (8Кб) документа, что на самом деле клёва. Но даже экстеншны по управлению виндовс-сервисом — как был идиотским так и остался (что в итоге на самом деле приводит к тому, что либо пусть его только ставит и не трогает, либо делать ручками на custom actions... что тоже уже пройдено).

Зато Роб вот уже кансалтинг на эту тему открыл.
Re: Дзен WiX/MSI
От: herethere  
Дата: 29.07.13 15:11
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>MSI — overengineered bloatware с тянущимися со времен Windows 95 потрохами и костылями


+1024.
Скачиваешь их "шмоток сетапа", сначала он шуршит диском, что-то там распаковывает, сравнивает, бац — "не могу продолжить"! Или могу, но потом не находит файл сетапа предыдущей версии Или нет нужных апдейтов (а раньше нельзя было проверить — ДО распаковки??) И постоянно что-то там на диске пишет, пишет... как Донцова, без передыху!
Пусть ламеры оборжутся, но на сегодня НЕТ хорошего инструмента создания сетапов — не грех и написать новый.

Хотя ещё со времён ДОСа ни у одной программы не было проблем тупо распаковать свой *.arj — лучший "сетап" всех времён.
Re: Дзен WiX/MSI
От: 0x7be СССР  
Дата: 29.07.13 15:25
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Все это очень печально, господа. Так не должно быть.

Ты абсолютно прав.
Лично я считаю необходимость работать с WiX для себя духовным упражнением, ведущим к просветлению.
Re: Дзен WiX/MSI
От: mrTwister Россия  
Дата: 29.07.13 15:40
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Подтверждаю, все так и есть. Ситуация описана очень точно!
лэт ми спик фром май харт
Re[3]: Дзен WiX/MSI
От: Константин Л. Франция  
Дата: 29.07.13 17:13
Оценка:
Здравствуйте, baily, Вы писали:

[]

B>Не сказал бы, что InstallShield сильно поможет. С ним написать инсталлятор тоже не проще. Может даже и сложнее.

B>Там еще бывает и баги самого InstallShield вылазят, с которыми сложно бороться.

+1

то еще г.
Re: Для еуть непрошедших
От: Wolverrum Ниоткуда  
Дата: 29.07.13 18:51
Оценка:
Здравствуйте, Нахлобуч:

Рекомендую InstallShield / InnoSetup.

NSIS как-то не очень... то есть, совсем "не" оказался. В основном, из-зи синтаксиса скриптов.

А Wix... Из последнего запомнил только, что сделать его полезным в CI, надо хорошенько покашеварить с его Тargets-файлами, что-то сделать с захардкоженными абсолютными путями в проектах... Ну короче, да, дзен тот еще.
Re[2]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 30.07.13 08:56
Оценка:
Здравствуйте, baily, Вы писали:

B>Однако, не все так просто. К инсталлятору предъявляется огромное количество требований.

B>Как вести себя при обновлениях разного рода? Тут тебе и minor/major upgrade, и maintenance случай.
B>downgrade-случай. Возможны и минипатчи. И то, что кто то руками подменил файлики.
B>Что делать если некоторый файл нельзя удалить/скопировать?
B>Надо избежать, по возможности перезагрузок.
B>При сбоях любого рода и на любом этапе оставить систему в валидном состоянии.
B>Крайне желательно, чтобы был откат к состоянию до начала некорректной установки.
B>Особый случай — установка всяких пререквизитов. Их тоже надо уметь откатывать.

В случае с MSI эти требования выдвигаются, замечу, не к самому пакету MSI, а к рантайму Windows Installer, который эти пакеты обрабатывает. И это уже совсем другой коленкор.

B>Таким образом, процесс гораздо сложнее, чем кажется.


Я представляю себе сложность самого процесса, но опять же: тот факт, что сложен процесс не значит, что формат пакета (и процесс его создания) должен быть настолько плох.

B>Поэтому в msi сознательно используется декларативный язык, чтобы была возможность описать, что именно хочется. А сама реализация оставлена недоступной, чтобы оградить от ненужных подробностей.


Он, в лучших традициях архитектурных астронавтов, используется везде -- и по делу, и без дела. Можно декларативно описать те изменения, которые нужно применить к системе (вот так должна выглядеть файловая система, вот так -- реестр, вот такие разрешения и т.д.), но дальше... Квадратное катаем, круглое таскаем: всё распихиваем по таблицам, придумываем "декларативную публикацию событий", декларативную же "подписку", вычурный синтаксис работы со свойствами и со всем этим пытаемся взлететь.
HgLab: Mercurial Server and Repository Management for Windows
Re: Дзен WiX/MSI
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 30.07.13 11:49
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>MSI вобрал в себя худшее из пакетных менеджеров, бандлов, установок в стиле Windows 3.11 и DOS; MSI загажен необъясинмыми противоречиями и ограничениями.

Я конечно имею не очень большой опыт в работе с MSI, и когда я его изучал, то некоторые вещи вызывли прямо скажем непонимание.
Но если нужно что-то не слишком замороченное (замороченное, это как писал Eye of Hell — с обновлениями, хитрыми custom action и т.д.), то все выглядит не таким и страшным.

Больше всего непонимания вызывает, конечно же UI. Он своеобразный.

Н>И вот поверх всего этого угара мы имеем WiX, который вроде как "зе бест"" для создания пакетов MSI, а на деле оказывается тонюсенькой прослоечкой. Никакой абстракции, никакого упрощения жизни для того подавляющего большинства вариантов использования, когда надо сказать "вот мои скомпилированные артефакты, собери из них установщик и не канифоль мне мозги гуидами, компонентами, директориями и keyPath'ами".


За давностью лет я, уже, конечно забыл многое, но вроде еще во времена Wix 3.0 была возможность именно что сгенерировать простейший инсталлятор буквально скормив на вход набор файлов и потом в паре мест подправив руками (а может и без этого).
Re[2]: Дзен WiX/MSI
От: fddima  
Дата: 30.07.13 12:25
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

МР>Но если нужно что-то не слишком замороченное (замороченное, это как писал Eye of Hell — с обновлениями, хитрыми custom action и т.д.), то все выглядит не таким и страшным.

Как по мне — что по настоящему заамороченное, — это как раз тот самый необходимый дзен, и тыща маленьких мелочей, навроде "почему в контекстном меню на advertised shortcut нет пункта run as administrator в windows 7?"
Re[2]: Дзен WiX/MSI
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 30.07.13 12:38
Оценка:
Здравствуйте, fdn721, Вы писали:

F>Есть же NIS. Всё просто и понятно.


Никто из человеческих инсталляторов не делает на выхлопе MSI, так что увы и ах.
HgLab: Mercurial Server and Repository Management for Windows
Re: Дзен WiX/MSI
От: Eugeny__ Украина  
Дата: 31.07.13 17:20
Оценка:
Здравствуйте, Нахлобуч, Вы писали:


Н>Все это очень печально, господа. Так не должно быть.


Имелся аналогичный опыт разобраться с этим выкидышем. Помучался-помучался, плюнул, взял простой как пробка NSIS, и довольно быстро наваял инсталлер на нем. Заодно и юзеры довольны, так как в отличие от MSI инсталляха получилась очень лекговесная.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re: Дзен WiX/MSI
От: itslave СССР  
Дата: 01.08.13 09:14
Оценка:
Здравствуйте, Нахлобуч, Вы писали:


Н>MSI — overengineered bloatware с тянущимися со времен Windows 95 потрохами и костылями, отрезать которые Microsoft не в состоянии в силу своей ненормальноый привязанности к обеспечению обратной совместимости; MSI был создан самыми лучшими, самыми высоколобыми архитектурными астронавтами и написан худшими, рукожопейшими индусами; MSI вобрал в себя худшее из пакетных менеджеров, бандлов, установок в стиле Windows 3.11 и DOS; MSI загажен необъясинмыми противоречиями и ограничениями.


Так и есть. Я занимался подобными вопросами лет 5 назад и у меня возникали полностью аналогичные эмоции. Все закончилось созданием кастомного инсталятора, со своим UI, который хендлит депенденси, конфликты версий, содержит логику и прочая. Затем он вызывает .msi с кучей параметров командной сторки и он толкьо инсталит-апдейтит то что надо. Никакого UI(кроме окошка 'please wait'), никакой логики.

Н>И вот поверх всего этого угара мы имеем WiX, который вроде как "зе бест"" для создания пакетов MSI, а на деле оказывается тонюсенькой прослоечкой.


Так и есть но остальные еще хуже. Одно из преимуществ WiX — можно легко написать тулзу(или заюзать имеющуюся), которая в процессе CI динамически генерит .xml для WiX и потом собирать по ним .msi.

Н>Все это очень печально, господа. Так не должно быть.

Увы, но подвижек тут не видно.
Re: Дзен WiX/MSI
От: sjukov Украина  
Дата: 02.08.13 12:22
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>При работе с WiX/MSI нет простых способов сделать что бы то ни было. Абсолютно.


Частично согласен. Хочу лишь сказать что после того, как столкнешься и разберешься с отдельным use-case'ом , то потом становится все
гораздо проще.

Для меня самым стремным оказались Conditions для компонентов и т.д. Ну и разработка custom'ного UI.
Остальное потом становится привычнм, и просто пишем код б#еать (c)
Re[2]: Дзен WiX/MSI
От: sjukov Украина  
Дата: 02.08.13 12:24
Оценка:
Здравствуйте, alex_public, Вы писали:

_>В принципе согласен, но хочу заметить что это всё происходит только в первый раз. Т.е. надо один раз посидеть основательно, чтобы составить один xml с подходящим вам инсталлятором. А дальше можно спокойно копировать его из проекта в проект меняя незначительные детали.


+100500

Почти этим же словами ответил ТСу.
Re: Дзен WiX/MSI
От: MaxRos  
Дата: 06.08.13 11:17
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Все это очень печально, господа. Так не должно быть.


Полностью согласен. В своё время моую проблему мне помогла решить вот эта тулза: http://www.installaware.com/. Не рекламирую, реально спасло тогда.
Re[2]: Дзен WiX/MSI
От: x64 Россия http://x64blog.name
Дата: 08.08.13 21:32
Оценка:
RNS>Всё это сделано, чтобы вы купили InstallShield.

Есть ещё Advanced Installer, довольно простой и мощный.
JID: x64j@jabber.ru
Re: Дзен WiX/MSI
От: zaufi Земля  
Дата: 26.06.14 10:09
Оценка:
мои 5 коппек опыта:
я в качестве "тренировки" делал *.msi с помощью этого WiX в CMake based проекте...
на CMake написано что и куда устанавливать, и по команде `make package` он делает какую-то XML, запускает этот WiX и на выходе получил вполне рабочий msi файл...

нет, ничего сложного не требовалось -- просто проинсталлить кучку файлов и с этим CMake+WiX вполне справились... ничего более сложного не требовалось поэтому на этом и успокоился...
Re: Дзен WiX/MSI
От: uncommon Ниоткуда  
Дата: 30.06.14 05:09
Оценка:
Когда-то давно, лет так н-цать назад WiX небыл даже еще внутренним майкрософтовским продуктом (а был набором скриптов на VBScript!). C# в ещё только зарождался — во было время! Самое смешное, что внутри MS не было ещё никакого хорошего метода делать эти самые инсталяторы. Инсталятор для нашего продукта был на InstallShield, и это был просто какой-то 3.14-здец. Бинарные файлы, которые нужно было править с помощью какой-то типа-студии. Изменения никогда нельзя было проследить из диффов: бинарник-же. Редактировать InstallShield-довские проекты мог только один человек, потому что у нас была только одна лицензия на InstallShield. В билд эта #$@$@ня не интегрировалась никак. В общем, как я уже и сказал, полный #@@$$.

Такое положение дел меня достало. Майкрософт мы, или нет?! После того как я посмотрел, что генерирует этот InstallShield, оказалось, что не так уж и много, набор msi таблиц. Пришлось, конечно, разбираться с MSI. И да, там всё сделано через жопу. У меня была возможность посмотреть на Windows код относящийся к MSI. Мама не горюй! Поговаривали, что его написали даже не индусы, а какие-то интёрны.

С таблицами я разобрался, но руками писать эти таблицы не было никакого желания. И вот, в какой-то внутренней рассылке я узнал про чувака, который написал тулзы, генерирующие MSI таблицы по их описанию в XML. Гениальность этого подхода была в том, что XML — это всё таки текстовый формат. Он пошёл простейшим путём и тупо сделал XML формат эквивалентным схеме MSI таблиц. Т.е. если ты уже знаешь, что должно получится в MSI, написать соответствующий WiX xml файл было совсем нетрудно. И сами тулзы были скриптами, которые "распостранялись" в виде исходного кода на VBScript (скриптывых языков в то время было раз два и обчёлся, тем более внутри MS). Но эти скрипты можно было просто взять и вставить в свой в билд. Если что-то не работало, эти скрипты можно было легко поправить.

Чувак, насколько я помню, имел source depot сервер на своей девелоперской машине, где он и вёл всю разработку без какого-либо официального разрешения. Для того времени это было ново и модно. Майкрософт ещё не был горой засохшего говна. А новые идеи внутри MS бурлили и развивались. -- The end --
Re[2]: Дзен WiX/MSI
От: NiJazz Австралия  
Дата: 04.07.14 10:30
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>на CMake написано что и куда устанавливать, и по команде `make package` он делает какую-то XML, запускает этот WiX и на выходе получил вполне рабочий msi файл...


Есть одно но — если нужен некий input во время установки, без ручного редактирования XML никак.
Re[2]: Дзен WiX/MSI
От: NiJazz Австралия  
Дата: 04.07.14 10:31
Оценка:
Здравствуйте, Matrix_Failure, Вы писали:

M_F>В дальнейшем может быть будем смотреть на кросс-платформенные инсталляторы. Опять же там MSI — не пришей кобыле хвост.


CPack? О других не слышал.
Re[2]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 05.07.14 08:13
Оценка:
K>И не забываем про его великолепное, потрясающее быстродействие. Десятки минут, чтобы удалить несколько папок с файлами — где вы еще такое увидите? У меня иногда возникает подозрение, что файлы не удаляются, а запаковываются и отправляются на сервер компании для повторного использования.

Проблема не в файлах а в руках того кто пишет инсталятор.
Народная мудрось
всем все никому ничего(с).
Re[3]: Дзен WiX/MSI
От: kleng  
Дата: 23.07.14 18:31
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Проблема не в файлах а в руках того кто пишет инсталятор.


То есть в руках тех, кто написал MSI.
Re[2]: Дзен WiX/MSI
От: DarthSidius  
Дата: 25.07.14 04:37
Оценка:
Здравствуйте, uncommon, Вы писали:

U>Чувак, насколько я помню, имел source depot сервер на своей девелоперской машине, где он и вёл всю разработку без какого-либо официального разрешения. Для того времени это было ново и модно. Майкрософт ещё не был горой засохшего говна. А новые идеи внутри MS бурлили и развивались. -- The end --


Вот например, MS SQL Server тим: инсталер написали свой. Во время работы интенсивно что-то компилирует через csc.exe, затем это выполняет
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Re[7]: Дзен WiX/MSI
От: RonWilson Россия  
Дата: 26.07.14 09:42
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Огромное количество инсталяций пишутся на Wix/Windows Installer, у нас например, в самом микрософте, Visual Studio, все апдейты виндов.


и каково соотношение CA и стандартных функций MSI в том же исталляторе VS?
Re[8]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 26.07.14 11:36
Оценка:
Tom>>Огромное количество инсталяций пишутся на Wix/Windows Installer, у нас например, в самом микрософте, Visual Studio, все апдейты виндов.
RW>и каково соотношение CA и стандартных функций MSI в том же исталляторе VS?
Я не колупал его.
Народная мудрось
всем все никому ничего(с).
Re[9]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 26.07.14 23:47
Оценка:
Здравствуйте, Tom, Вы писали:

C>>У меня этот кретинский update на абсолютно чистой лицензионной Win7 Ultimate не может без ошибок установить все пакеты обновлений.

Tom>А у меня может. Вы вообще хотя бы примерно себе представляете маштаб проблемы поддержки виндов и распространения апдейтов?
А у меня не может. И масштаб представляю, так как вижу перед глазами Андроид, Debian и Mac OS X. Они все работают на порядок лучше.

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

Tom>У вас вообще всё хорошо? Вы в одном сообщении захотели "расстрелять, повесить, сжечь заживо, утопить, а потом ещё прибить осиновым колом" а потом ещё и "закапыванию в гробик". Как по мне так это юношеский прыщавый максимализм и признак абсолютного не профессионализма.
Нет, это безэмоциональная объективная оценка. Эмоциональная будет совсем нецензурной.

C>>Неудивительно, что Chrome OS и Mac OS X всё более и более рулят. Там разработчиков не насилуют анально при попытке создать простой инсталлятор.

Tom>Простой ингалятор без проблем прекрасно делается с использованием Windows installer, если у вас это не получается это не проблема Windows installer это проблема вашего ума.
Простой — это копирование файлов с созданием одно ярлыка. А как начинается что-то сложнее, то уже всё.
Sapienti sat!
Re[12]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 10:00
Оценка:
C>>>А у меня не может. И масштаб представляю, так как вижу перед глазами Андроид, Debian и Mac OS X. Они все работают на порядок лучше.
Tom>>Вы видимо всё таки совсем не представляете маштабы. Microsoft поддерживает OS по 10 лет.
C>RedHat тоже поддерживает ОС по десять лет. Однако, у них пакеты обновлений всегда ставятся без ошибок.
Маштабы несопоставимы. Да и не думаю я что у них никогда ни у кого не возникало проблем.

Tom>>Давайте на конкретных примерах. Я попытаюсь, если смогу, помоч.

C>Перечитай тему с начала. Я писал для MSI создатель инсталляторов, если что.
Тему читал, ни одной не решаемой проблемы не нашёл.
Народная мудрось
всем все никому ничего(с).
Re[10]: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 10:02
Оценка:
RW>вот когда поколупаете тогда и напишите, насколько он написан из "коробки", а не сказки расказывайте про то, что все так замечательно. вот скажите сразу, без всяких CA как в окно воткнуть элемент, который будет показывать свободное место на выбранном диске, не дурацкую таблицу, которая вообще не работает, а просто статик с текстом.
А в чём собственно проблема? Вы не знаете как задать произвольный текст у контрола в WI/Wix??? Если честно вопросы такого уровня просто смешно читать.
Народная мудрось
всем все никому ничего(с).
Re: Дзен WiX/MSI
От: Tom Россия http://www.RSDN.ru
Дата: 27.07.14 10:11
Оценка:
Здравствуйте, Нахлобуч, Вы писали:


Н>При работе с WiX/MSI нет простых способов сделать что бы то ни было. Абсолютно. Если есть два относительно простых и логичных пути сделать что-то, то MSI пойдет по своему, третьему и абслютно неадекватному. Набор стандартных, единообразных, диалогов и элементов оформления? Нет, рисуйте все сами.

Набор стандартных диалоговых окон есть в Wix-е, есть в куче продуктов которые строят в итоге MSI инсталляцию, в том же install Shield. Проблема непонятна и насосана из пальца.

Н>Нормальная поддержка кнопки "Назад"?

Эээээ а что есть нормальная поддержка и что не так с текущей???

Н>Увы. Взаимоисключающие компоненты?

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

Н>Локализация? И не вспоминайте.

Н>Единый установщик для 32 и 64 бит?
Это задача не MSI это задача бутстраппера, прекрасно и легко решается. Хотите свой сделайте (минуты 5 потратить в студии) — хотите используйте Wix бутстраппер

Н>Не в этой жизни. Зависимости?

Зависимости опять же это задача бутстраппера. Опять же прекрасно решена в Wix-е.

Н>Мимо. Хоть сколько-нибудь сложные выражения? Да ну откуда...

Можно поподробнее какие выражения, и где и как вы их хотите применять.

Н>Но зато! Рассовать весь инсталлятор по таблицам? Да-да-да, и побольше! Установка по требованию пользователя (advertised)? Пожалуйста, это очень нужная в 90% возможность. Алогичные правила по установке и удалению ярлыков и файлов? Сколько угодно! Три варианта апгрейдов? Извольте! Поддержка имен 8.3? Конечно-конечно. Пакеты трансформаций? К вашим услугам!

Вы будете удивлены но то что вы описали крайне важные фичи WI, вы не забывайте что винды работают очень хорошо в корпоративном секторе.
А там очень много важно, и административный инсталл и длугие.
Зачем нужен advertised я тоже не знаю, это самая загадочная штука в WI.
И про 3 типа апдейтов, это мегафича которую почти никто не понимает.

Н>Вот к каким выводам я пришел (извините, наболело).

Выводы ваши такие потому что у вас нет фактически опыта в release management-е, нормального серьёзного опыта.
У WI есть конечно свои особенности, связанные с тем что систему уже туева хуча лет но со своими прямыми обязанностями он прекрасно справляется.

Н>Все это очень печально, господа. Так не должно быть.
Народная мудрось
всем все никому ничего(с).
Re[11]: Дзен WiX/MSI
От: RonWilson Россия  
Дата: 27.07.14 14:42
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>А в чём собственно проблема? Вы не знаете как задать произвольный текст у контрола в WI/Wix??? Если честно вопросы такого уровня просто смешно читать.


код xml в студию
Re[13]: Дзен WiX/MSI
От: Cyberax Марс  
Дата: 28.07.14 06:15
Оценка:
Здравствуйте, Tom, Вы писали:

RW>>код xml в студию

Tom>Код чего, того как обьявляется свойство в Wix? Не смешите мои тапки, это детский сад. Слюда лучше с адекватными вопросами.
"Станьте ёжиками", ага.
Sapienti sat!
Re[3]: Дзен WiX/MSI
От: Vain Россия google.ru
Дата: 04.01.16 13:14
Оценка:
Здравствуйте, NiJazz, Вы писали:

M_F>>В дальнейшем может быть будем смотреть на кросс-платформенные инсталляторы. Опять же там MSI — не пришей кобыле хвост.

NJ>CPack? О других не слышал.
Из cmake? Не более чем обёртка, всю хурму всё равно руками придётся писать. Я бы даже уточнил, это единственный нормальный вариант.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: Дзен WiX/MSI
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 04.01.16 15:20
Оценка:
Здравствуйте, uncommon, Вы писали:


U>С таблицами я разобрался, но руками писать эти таблицы не было никакого желания. И вот, в какой-то внутренней рассылке я узнал про чувака, который написал тулзы, генерирующие MSI таблицы по их описанию в XML. Гениальность этого подхода была в том, что XML — это всё таки текстовый формат. Он пошёл простейшим путём и тупо сделал XML формат эквивалентным схеме MSI таблиц. Т.е. если ты уже знаешь, что должно получится в MSI, написать соответствующий WiX xml файл было совсем нетрудно. И сами тулзы были скриптами, которые "распостранялись" в виде исходного кода на VBScript (скриптывых языков в то время было раз два и обчёлся, тем более внутри MS). Но эти скрипты можно было просто взять и вставить в свой в билд. Если что-то не работало, эти скрипты можно было легко поправить.


Эх, знать бы прикуп — году в 2003 ковырялся несколько месяцев с MSI, тоже написал тулзу, которая из XML генерит инсталлер. С его помощью сделал пару тестовых инсталляторов типа того, что там вроде в примерах было — вроде notepad устанавливали. А потом забил, решил, что мало кому нужно, когда есть всякие InnoSetup'ы, решил, что MSI — в основном останется форматом для Microsoft'овских продуктов. Надо наверно тогда было допилить до продукта А сейчас уже всё забыл, разбираться заново лень, пользую InnoSetup, VMProtect и VMPKit
Маньяк Робокряк колесит по городу
Re: Дзен WiX/MSI
От: iHateLogins  
Дата: 07.01.16 12:31
Оценка:
Используйте Inno Setup.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.