21 Stimmen

MSI in Wine erstellen

Ich hoffe, dass dies immer noch ein Thema für StackOverflow ist.

Ich entwickle alles auf einem Linux-Rechner, aber der Code wird sowohl auf Linux- als auch auf Windows-Rechnern laufen.

Ich möchte Linux verwenden, um den Code zu kompilieren, und ich habe mingw-32 und mingw-w64 für diese Zwecke.

Aber ich würde die resultierenden ausführbaren Dateien gerne in eine schöne MSI-Installationsdatei packen. Ist es möglich, dies mit Dienstprogrammen in Linux oder unter Wine zu tun?

Gracias.

15voto

Hib Eris Punkte 161

Sie können eine Kombination aus Wine, Mono und WiX verwenden, um .msi-Pakete unter Linux zu erstellen.

Für openSUSE habe ich ein Wrapper-Paket namens wixwine erstellt, das die Befehle "candle" und "light" aus dem Windows Installer XML (WiX) Toolset für die Verwendung unter Linux bereitstellt.

Sie finden mein wixwine-Paket aquí

8voto

Paolo Bonzini Punkte 1843

Ich habe gerade v0.01 von msitools veröffentlicht, eine Sammlung von Dienstprogrammen zur Überprüfung und Erstellung von Windows Installer Dateien. Sie basiert auf dem Wine-Code, wurde aber auf POSIX portiert.

Sie finden die Quell- und Binärpakete unter http://bonzini.fedorapeople.org/ - leider müssen Sie libgsf von git bauen, weil ich einen Fehler gefunden habe und keine veröffentlichte Version hat den Fix bis jetzt. Die verlinkte Seite hat Fedora RPMs mit dem Fix.

$ 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

Es gibt ein begleitendes Dienstprogramm msibuild zum Erstellen von MSIs. Es ist sehr einfach, aber Sie können die beiden Tools zusammen verwenden, um kleine Änderungen an einer MSI vorzunehmen, die Sie bereits unter Windows erstellt haben.

アップデート : jetzt gehostet bei https://live.gnome.org/msitools Es gibt auch ein Tool (wixl), das eine Teilmenge von WiX XML unterstützt. Erfordert libgsf 1.14.25 oder eine neuere Version. Fedora 18 und neuere Versionen haben es im Paket.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X