スクリプトをEXEにする: ExerbとEEE
2007.03.21 Wednesday 23:46
単体実行できるちょっとしたGUIソフトをスクリプトで作りたい.
配布するときに実行環境を問わないよう単体EXEにしたい.
サイズは小さく.
今のところVisualuRuby + Exerbが最有力候補.
Exerbの類似ツールとしてRubyScript2Exeを発見.そこに入っているEEEというツールが任意のスクリプトを1つにまとめた実行ファイルを作成できる
配布するときに実行環境を問わないよう単体EXEにしたい.
サイズは小さく.
今のところVisualuRuby + Exerbが最有力候補.
Exerbの類似ツールとしてRubyScript2Exeを発見.そこに入っているEEEというツールが任意のスクリプトを1つにまとめた実行ファイルを作成できる
スクリプトを単体の実行ファイルにするツールとして,PerlにはPAR,Pythonにはpy2exe,RubyにはExerbがある.
Exerbの生成する実行ファイルは最低サイズで500KBくらい.これはPerl(1.4MB), Python(2MB)に比べて優秀な値.(Perl/Pythonの値は自分で確かめたものではない)
PARは依存ファイルがActivePerlに入っておらず,インストールを試みたがAutoLoaderがうまくインストールできなかったので放棄.
VisualuRubyと組み合わせるとライブラリを2つ取り込むので少し大きくなるがそれでも800KB程度.出来上がったEXEをZIP圧縮したら350KB位になった.十分納得できるサイズかなと思う.
そもそもスクリプト本体を作る前にDeploy方法を決めてしまって良いのかという疑問はあるが,他に判断基準がなければ最も容易に判定できるところから候補を絞り込むという戦略は悪くはないはず.
EEEを使ってみる.
EEEはRubyScript2Exeの中に入っているが,RubyScript2ExeもTar2RubyScriptで1つのrubyスクリプトにパッケージ化されているので以下のようにして取り出す必要がある.
rubyscript2exeディレクトリが作られて,その中に中身が展開されるのでeee.exeとeeew.exeを別の場所に取り出す.
EEEは手動でinfoファイルを作ってそれをコマンドに与えると,記述に従ってファイルを集めてexeを作る.ホームページにawkをパッケージする例にはなるほどと思ったが.
Exerbの生成する実行ファイルは最低サイズで500KBくらい.これはPerl(1.4MB), Python(2MB)に比べて優秀な値.(Perl/Pythonの値は自分で確かめたものではない)
PARは依存ファイルがActivePerlに入っておらず,インストールを試みたがAutoLoaderがうまくインストールできなかったので放棄.
VisualuRubyと組み合わせるとライブラリを2つ取り込むので少し大きくなるがそれでも800KB程度.出来上がったEXEをZIP圧縮したら350KB位になった.十分納得できるサイズかなと思う.
そもそもスクリプト本体を作る前にDeploy方法を決めてしまって良いのかという疑問はあるが,他に判断基準がなければ最も容易に判定できるところから候補を絞り込むという戦略は悪くはないはず.
EEE
EEEを使ってみる.
EEEはRubyScript2Exeの中に入っているが,RubyScript2ExeもTar2RubyScriptで1つのrubyスクリプトにパッケージ化されているので以下のようにして取り出す必要がある.
ruby rubyscript2exe.rb --tar2rubyscript-justextract
rubyscript2exeディレクトリが作られて,その中に中身が展開されるのでeee.exeとeeew.exeを別の場所に取り出す.
EEEは手動でinfoファイルを作ってそれをコマンドに与えると,記述に従ってファイルを集めてexeを作る.ホームページにawkをパッケージする例にはなるほどと思ったが.
Comments