构建MSI葡萄酒(Build MSI in Wine)

2019-06-23 18:43发布

希望这仍然是StackOverflow上的话题。

我在做一个Linux机器上我所有的发展,但代码将在Linux和Windows机器上运行。

我想用Linux来编译代码,而我的MinGW-32和MinGW-W64了点。

但我想生成的可执行文件打包成一个漂亮的MSI安装文件。 是否有可能做到这一点使用公用事业Linux或运行酒下?

谢谢!

Answer 1:

您可以使用葡萄酒,单声道和维克斯的组合在Linux上创建的.msi包。

openSUSE的,我创建了一个包的包装称为wixwine它给你的“蜡烛”和“光”从Windows安装器XML(WiX的)工具包准备使用Linux的命令。

你可以找到我的wixwine包这里



Answer 2:

我刚刚发布msitools的v0.01,实用程序集检查和创建Windows Installer文件。 它是基于对葡萄酒的代码,但移植到POSIX。

您可以在源代码和二进制包http://bonzini.fedorapeople.org/ -不幸的是,你需要从混帐建立libgsf,因为我发现了一个bug,没有发布的版本有修复截至目前。 所链接的页面有Fedora的RPM包与修复。

$ 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。 这是非常级别低,但是你可以使用这两种工具一起,使小的改动你已经在Windows上创建一个MSI。

更新 :现在托管在https://live.gnome.org/msitools ,它也有支持维克斯XML的一个子集的工具(WIXL)。 需要libgsf 25年1月14日或更高版本。 Fedora的18和更新有它包装。



文章来源: Build MSI in Wine