URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 115295
[ Назад ]

Исходное сообщение
"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталлеров"

Отправлено opennews , 15-Сен-18 08:16 
Подготовлен первый релиз WiX.Py (https://wix.sk1project.net/), сборщика MSI-инсталляторов, предоставляющего возможность собирать MSI-пакеты для кроссплатформенных приложений без использования выделенного сервера на базе Windows, а также позволяющего проводить сборку в Docker-контейнерах. Применение WiX.Py позволяет сэкономить на инфраструктуре проекта и ускорить сборки с использованием систем непрерывной интеграции. Код проекта написан на языке Python и распространяется (https://github.com/sk1project/wixpy) под лицензией GPLv3.


При запуске на Unix-системах для генерации MSI-инсталляторов используется библиотека libmsi, а в окружении Windows вызывается штатная библиотека msi.dll. По сравнению с обёртками для WiX (python-wix, go-msi, electron-wix-msi и т.п.), WiX.Py работает как самодостаточное консольное приложение. Поскольку WiX.Py написан на Python, его можно использовать как пакет в сборочных скриптах и при необходимости самостоятельно расширять функциональность. В отличии от WiX (стандарт в области сборки MSI), WiX.Py не требует гигантских сборочных XML-файлов и сильно упрощает подготовку MSI-инсталляторов для средних и мелких проектов.

URL: https://wix.sk1project.net/
Новость: https://www.opennet.me/opennews/art.shtml?num=49275


Содержание

Сообщения в этом обсуждении
"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Петр Петр , 15-Сен-18 08:16 
Кому в 2018 нужны эти самые MSI-пакеты?

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено A.Stahl , 15-Сен-18 08:33 
Пользователям Винды.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 08:20 
А чего не на Go?.....

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 09:38 
Если скомпилированный бинарник, то про использование как пакет и модификацию под свои нужды в скриптах можно забыть.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 15:02 
А кому кроме программистов скрипты нужны как скрипты? Традиционной подход - собрать бинарник

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 15:07 
а сабж и предназначен для девопсов :) Инструмент разработки - это не приложение для широкого круга пользователей.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 15:36 
Собрал - скомпилировал. Девопсы сейчас на go сидят.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 17:18 
ну ок, а с питоном и собирать не надо - унаследовался от базового класса и расширяй функционал насколько фантазия позволяет. Тем более, что го и классов то не имеет :)

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 09:06 
> гигантских сборочных XML-файлов

Ну в общем WiX на минималках, окей.


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 09:41 
Тип таво - минимум необходимой для сборки информации. У WiX явный оверхед с XML.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 10:04 
> У WiX явный оверхед.

Тут надо было поставить точку.


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 10:28 
Намекаете, что у WiX гораздо больше возможностей? :) На самом деле что WiX, что WiX используют на винде одну и ту же msi.dll, у которой очень простой интерфейс. Поэтому нехватающие в WiX.Py фичи легко скриптуются. WiX не поскриптуешь - использовать можно только то, что саппортится конкретной версией.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 12:22 
да как бы исходник WiX'а - это просто XML, её генерить можно чем угодно, и в составе викса есть немного тулов для этого. ещё там можно добавлять данные прямо для сырых таблиц, а ещё под вендой есть встроенный барсик и жаба-скрипт, которые позволяют легко автоматизировать как сборку пакета, так и его конфигурацию (плуг для визуальной студии откровенно убог)

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 15:11 
Можно, не спорю. Но для сложных фич вам придется забурится в специфические знания по регистри и msi. С неменьшим успехом это имплементиться на питоне на базе wixpy. А для тривиальных проектов вполне хватает коротенького JSON'а для WiX.Py, который тоже можно генерить из чего угодно.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 15:25 
И опять же, чтобы запихнуть WiX в CI типа Travis/drone да еще и под Docker, вам придется ну оооочень извратиться (и не факт, что заведется под Mono или wine). WiX.Py отлично собирает кроссплатформ, тратя на создание MSI буквально десятки секунд. И без выделенного Windows-сервера.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено mimocrocodile , 15-Сен-18 10:47 
Если учесть, что wix - это windows installer xml, то получается немного странное название.

А вообще не понятно зачем именно msi?


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 10:57 
WiX.Py внутри строит модель WXS документа (кстати, можно сохранить в xml). И на основе ее генерирует MSI пакет. Ксательно "почему msi" - разве в винде уже завезли что-то другое в качестве пакетов?

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено mimocrocodile , 15-Сен-18 11:04 
Всё что угодно в принципе, msi так и не прижился в качестве единственного формата установщика.
Теоретически он даёт декларативное описание установщика, но на практике всё равно его надо подпирать как сверху (UI) так и снизу (custom actions).

В качестве кросс-платформенных альтернатив есть NSIS, у него конечно свой наркоманский синтаксис, но для простых задач сойдёт.


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 11:16 
UI в MSI тоже декларативный. Его генерацию прикрутим в следующей версии. Касательно exe-инсталлеров - несекюрная это вещь. MSI это просто пакет, а не исполняемый бинарь. И я бы сказал, движение нонче в сторону MSI, а не exe-инсталлеров.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено mimocrocodile , 15-Сен-18 11:53 
> Касательно exe-инсталлеров - несекюрная это вещь. MSI это просто пакет, а не исполняемый бинарь.

Если учесть, что .msi может содержать произвольный код который выполняется в процессе установки, то для пользователя разница небольшая.

> И я бы сказал, движение нонче в сторону MSI, а не exe-инсталлеров.

Этому движению уже 19 лет, но воз и ныне там.


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 15:15 
MSI пакет с произвольным кодом - это авторство создателя пакета. А exe-бинарь, зараженный трояном или еще какой малварью - это уже и без автора может быть.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено J.L. , 24-Сен-18 17:11 
> MSI пакет с произвольным кодом - это авторство создателя пакета. А exe-бинарь,
> зараженный трояном или еще какой малварью - это уже и без
> автора может быть.

а вирь не могёт изменить код внутри msi-пакета? внутри незапароленных архивов вирьё заражать умеет


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 11:42 
Относительно custom actions, их часто используют не по делу. Просто от незнания возможностей MSI. МС навернула в MSI очень много чего и из-за обилия фич народ просто не в курсе всех возможностей.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 12:26 
> на практике всё равно его надо подпирать как сверху (UI) так и снизу (custom actions)

для большинства случаев встроенного гуя и функционала более чем достаточно, красота и костыли нужны только лишь когда у вас есть что-то настолько необычное, что требует реально нестандартных настроек. и таки wix позволяет накидать гуй буквально на коленке, используя .net + WPF (эдакий легковесный аналог QT quick)


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 18:32 
> используя .net + WPF (эдакий легковесный аналог QT quick)
> .net + WPF
> легковесный аналог

Боюсь спросить, что у вас считается нормальным или тяжеловесным.


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Badmanner , 17-Сен-18 00:33 
Для Windows GPO, например.


Zabbix Agent

http://www.suiviperf.com/zabbix/index.php


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Celcion , 15-Сен-18 11:03 
Мне вот интересно - когда на бидоне уже операционку напишут? Сколько можно на эти мелочи размениваться?

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено sK1 Project , 15-Сен-18 11:18 
Побойтесь бога, для операционки только модный JS! :) Питон это унылый продакшин.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Необъективный_ , 15-Сен-18 12:04 
> Мне вот интересно - когда на бидоне уже операционку напишут?

* Pycorn OS
* Cleese
* Python OS Project (POP)
* И т.д..


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталле..."
Отправлено Аноним , 15-Сен-18 15:04 
Ну а в принципе, ничего удивительного. Ведь, есть и компиляторы Питона: PyPy, Shedskin (с этим ваще через промежуточный C++ в машинный код  можно).

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталлеров"
Отправлено Аноним , 15-Сен-18 13:12 
> При запуске на Unix-системах для генерации MSI-инсталляторов используется библиотека
> WiX.Py is a cross-platform standalone application. It may run on Microsoft Windows and Linux platforms

Ваша Unix система может быть любого цвета …


"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталлеров"
Отправлено Аноним , 15-Сен-18 15:07 
Сомнительно, что libmsi нельзя будет собрать на FreeBSD. Ну если сейчас не получится, то в следующих версиях исправят.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталлеров"
Отправлено sK1 Project , 15-Сен-18 15:12 
есть сборки и под макось, только смысла в них немного.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено Аноним , 17-Сен-18 00:55 
Здравствуйте, это канал по открытому ПО? Как собрать msi под FreeBSD?

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено sK1 Project , 17-Сен-18 01:24 
А чо, надо? А если найдем? :)

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено Аноним , 17-Сен-18 15:18 
> Здравствуйте, это канал по открытому ПО? Как собрать msi под FreeBSD?

Закрыть путтиэкзе и запустить нативно.



"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено Аноним , 17-Сен-18 13:52 
Не увидел указание поля Product GUID, только UpgradeCode. Или оно из UpgradeCode берется при сборке?

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено sK1 Project , 17-Сен-18 16:01 
Product GUID генерится внутри произвольный. В скриптах WiX его часто ставят как "*". Для апгрейда важен только UpgradeCode.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено Аноним , 17-Сен-18 16:14 
Понятно. То есть для дальнейшей работы его выдирать придется из уже готового MSI.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено sK1 Project , 17-Сен-18 16:20 
Если у вас есть пояснение, зачем вам Product GUID - сделайте фичереквест: вывести его на уровень исходных параметров несложно.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено Аноним , 17-Сен-18 17:21 
Нет, это не прямо так критично. В конечном итоге всё равно MSI проверять надо на код. А где применяется могу рассказать. Если люди используют централизованное развертывание через sccm очень часто в таком случае применяется GUID. Он идет как проверка - приложение уже установлено на системе и ничего делать не надо. Ещё встречал на форумах разных производителей списки версия ПО->GUID. Это что бы людям проще было скриптовать разное поведение для разных версий. В общем это упрощение для тех кто в дальнейшем с этой msi работать будет.

"Доступен WiX.Py 0.1, кроссплатформенный сборщик MSI-инсталля..."
Отправлено sK1 Project , 17-Сен-18 17:46 
Разумно. В следующей версии добавим опциональный ProductID.