在Wine中构buildMSI

希望这仍然是关于StackOverflow的主题。

我正在Linux机器上进行所有的开发,但代码将由Linux和Windows机器运行。

我想用Linux编译代码,而且我有mingw-32和mingw-w64。

但是我想将生成的可执行文件打包成一个很好的MSI安装文件。 是否有可能在Linux中使用实用程序或在Wine下运行?

谢谢!

您可以使用Wine,Mono和WiX的组合在Linux上创建.msi包。

对于openSUSE,我创建了一个名为wixwine的包装程序包,它提供了Windows Installer XML(WiX)工具集中的“蜡烛”和“亮”命令,可以在Linux上使用。

你可以在这里找到我的wixwine包

我刚刚发布了msitools的v0.01,一组实用程序来检查和创建Windows安装程序文件。 它基于Wine代码,但移植到POSIX。

你可以在http://bonzini.fedorapeople.org/找到源代码和二进制包。不幸的是,你需要从git构建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 ,它也有一个工具(wixl),支持WiX XML的一个子集。 需要libgsf 1.14.25或更新的版本。 Fedora 18和更新版本已经打​​包了。