在Wine中构建MSI

Ric*_*ard 19 linux windows-installer wine

希望这仍然是StackOverflow的主题.

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

我想用Linux编译代码,我有mingw-32和mingw-w64.

但我想将生成的可执行文件打包成一个漂亮的MSI安装文件.是否可以使用Linux中的实用程序或在Wine下运行来执行此操作?

谢谢!

小智 15

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

对于openSUSE,我创建了一个名为wixwine的包装器包,它为您提供了可以在Linux上使用的Windows Installer XML(WiX)工具集的'candle'和'light'命令.

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


Pao*_*ini 6

我刚刚发布了ms0ools的v0.01,这是一组用于检查和创建Windows Installer文件的实用程序.它基于Wine代码,但移植到POSIX.

您可以在http://bonzini.fedorapeople.org/找到源代码和二进制包- 遗憾的是,您需要从git构建libgsf,因为我发现了一个错误,并且没有发布的版本具有此时的修复程序.链接页面有Fedora RPMs和修复程序.

$ 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
Run Code Online (Sandbox Code Playgroud)

有一个配套实用程序msibuild来构建MSI.它非常低级,但您可以将这两个工具结合使用,对您在Windows上制作的MSI进行细微更改.

更新:现在托管在https://live.gnome.org/msitools,它还有一个支持WiX XML子集的工具(wixl).需要libgsf 1.14.25或更新版本.Fedora 18和更新的包装.