21

これがStackOverflowでまだ話題になっていることを願っています。

私はすべての開発をLinuxマシンで行っていますが、コードはLinuxマシンとWindowsマシンの両方で実行されます。

Linuxを使用してコードをコンパイルしたいのですが、そのためにmingw-32とmingw-w64があります。

しかし、結果の実行可能ファイルを素敵なMSIインストールファイルにパッケージ化したいと思います。Linuxのユーティリティを使用して、またはWineで実行してこれを行うことは可能ですか?

ありがとう!

4

2 に答える 2

16

Wine、Mono、WiX の組み合わせを使用して、Linux で .msi パッケージを作成できます。

openSUSE 用に、Linux ですぐに使用できる Windows Installer XML (WiX) ツールセットから「candle」コマンドと「light」コマンドを提供する wixwine というラッパー パッケージを作成しました。

ここで私のwixwineパッケージを見つけることができます

于 2012-07-14T05:50:53.050 に答える
8

msitools の v0.01 をリリースしました。これは、Windows インストーラー ファイルを検査および作成するためのユーティリティのコレクションです。これは Wine コードに基づいていますが、POSIX に移植されています。

ソースとバイナリ パッケージはhttp://bonzini.fedorapeople.org/にあります。残念ながら、git から libgsf をビルドする必要があります。リンクされたページには、修正された 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

MSI をビルドするための補助ユーティリティ msibuild があります。これは非常に低レベルですが、2 つのツールを一緒に使用して、Windows で既に行った MSI に小さな変更を加えることができます。

update : 現在https://live.gnome.org/msitoolsでホストされており、WiX XML のサブセットをサポートするツール (wixl) も含まれています。libgsf 1.14.25 以降が必要です。Fedora 18 以降ではパッケージ化されています。

于 2012-12-06T17:00:54.463 に答える