Mkbundle:
はあなたが必要とする理由あなたは不思議でしたアプリケーションでモノをバンドル。あなたのプログラムを実行するためにインストールされているNET FrameworkまたはMono?クライアントに余計な負担をかけることなくアプリケーションを配布して、追加のフレームワークをインストールできるのであれば、はるかに便利でしょうか?だからここにいる。 .NETベースのアプリケーションをMonoにバンドルさせるため、Monoまたは.NETをインストールする必要はありません。
は、あなたが最新のモノやCygwinをインストールする必要があり、環境
ファーストを用意します。 Monoのインストールは非常に簡単で、何かを壊すことはできません。 Cygwinのインストールを開始したら、フルビューに入り、さらに4つのパッケージを追加してください。これらはgcc、mingw、mingw-zlib、zlibです。
これでコマンドプロンプトが必要です。 MonoとCygwinはどちらもデスクトップ上のコマンドプロンプトのショートカットを作成しますが、それらを組み合わせて1つにする必要があります。ここに私のためにそれを行うバッチがあります。たとえば、他のモノバージョンがある場合は、変更する必要があります。
コード:
echo Mono version 2.4 Build 6
echo Prepending 'C:\PROGRA~1\Mono-2.4\bin' to PATH
PATH=C:\PROGRA~1\Mono-2.4\bin;%PATH%
chdir C:\cygwin\bin
bash --login -i
だから我々は、このCygwinのモードを実行し、コマンドプロンプトに今あるモノ
でアプリケーションをバンドルします。これはもはやDOSプロンプトではなく、 "dir"はもう動作しません。ファイルを一覧表示するには、linuxコマンド "ls"を使用します。閲覧しているフォルダは、以下のようになります。 Arekはユーザー名です。 コード:あなたのエクスプローラでこのフォルダへ
C:\cygwin\home\Arek
参照。これで2つのファイルがこのフォルダにコピーされます。 1stはアプリケーションexe、2ndはMono.dll(2MB)です。これはMonoフォルダにあります。 コード:全体の手順は、長いファイル名で動作するので、アプリケーションのexeファイルの名前を変更しないいくつかの理由
C:\Program Files\Mono-2.4\bin
。この古いDOS 8.3の命名規則に準拠する必要があります。
コマンドプロンプトに戻ります。アプリケーションをバンドルするには1つのコマンドしか必要ありません。ここにいくつかの説明があります。
mkbundleはMonoパッケージ内のプログラムです。 -o Bundled1.exeは、バンドルされているexeの名前の付け方を指定します。 Winform1.exeには何が含まれるかが記載されていますが、Monoライブラリは含まれています|私はそれが何であるか分かりませんが、デプスは必要です。だから、
mkbundle -o Bundled1.exe Winform1.exe --deps -z
今はモノ自体とともに、独自のアプリが含まれているあなたのBundled1.exeを得た:-zは、exeファイルたくさん
コードを出力を圧縮します。 Monoや.NETを実行する必要はありません。サイズが4MB以上になることに注意してください。これらのバンドルされたexeは軽量ではありません。