Подтвердить что ты не робот

Построить MSI в вине

Надеясь, что это все еще актуально для StackOverflow.

Я делаю все свое развитие на машине Linux, но код будет запускаться как машинами Linux, так и Windows.

Я хотел бы использовать Linux для компиляции кода, и для этого у меня есть mingw-32 и mingw-w64.

Но я хотел бы упаковать полученные исполняемые файлы в хороший установочный файл MSI. Возможно ли это сделать с помощью утилит в Linux или под управлением Wine?

Спасибо!

4b9b3361

Ответ 1

Вы можете использовать комбинацию Wine, Mono и WiX для создания пакетов .msi в Linux.

Для openSUSE я создал пакет-оболочку wixwine, который дает вам команды "свечи" и "светлые" из набора инструментов Windows Installer XML (WiX), готовых для использования в Linux.

Вы можете найти мой пакет wixwine здесь

Ответ 2

Я только что выпустил v0.01 из msitools, набор утилит для проверки и создания Файлы установщика Windows. Он основан на коде Wine, но перенесен в POSIX.

Вы можете найти исходный и двоичный пакеты в http://bonzini.fedorapeople.org/ - к сожалению, вам нужно будет создать libgsf из git, потому что я нашел ошибка и не выпущенная версия имеют исправление на данный момент. На связанной странице есть RPM Fedora с исправлением.

$ msiinfo streams ~/download/Firefox-16.0.2-it.msi 
Binary.New
Binary.Up
Binary.info
Binary.dlgbmp
Binary.CustomBin
Binary.bannrbmp
Binary.completi
Binary.custicon
Binary.exclamic
Binary.insticon
Binary.removico
Binary.repairic
_MAKEMSI_Cabs.MM01.cab
Binary.BannerGraphic.BMP
Icon.firefox.16.0.2.0.ico.exe
DigitalSignature
SummaryInformation
$ msiinfo extract ~/download/Firefox-16.0.2-it.msi _MAKEMSI_Cabs.MM01.cab > firefox.cab
$ cabextract -l firefox.cab
Viewing cabinet: firefox.cab
 File size | Date       Time     | Name
-----------+---------------------+-------------
    917984 | 24.10.2012 12:50:38 | firefox.exe
     18912 | 24.10.2012 12:50:38 | AccessibleMarshal.dll

Существует встроенная утилита msibuild для создания MSI. Он очень низкоуровневый, но вы можете использовать два инструмента вместе, чтобы внести небольшие изменения в MSI, который вы уже сделали в Windows.

update: теперь поддерживается https://live.gnome.org/msitools, у него также есть инструмент (wixl), который поддерживает подмножество WiX XML. Требуется libgsf 1.14.25 или новее. Fedora 18 и новее его упаковали.