w-zero3日和

星羽がW-ZERO3、W-ZERO3[es]、その他モバイル端末を設定した時の覚え書きや自作アプリの公開など。

実行ファイルサイズを小さく出来る UPX

2006年04月29日 | アプリ紹介
W-ZERO3ツール MEMO: [VerUP情報](Tool)ファイル関係]UPX Ver2.00で、EXEやDLLのファイルを実行可能なまま圧縮してファイルサイズを縮小出来るUPXがバージョンアップしてWindowsCEにも対応した事が書かれてありましたので、さっそく試してみました。

UPXはWindowsで昔使った事があって「もし、PocketPCでもこういうのがあったらな」
とは思っていたのですが、UPXが対応してくれるとは思ってなかったので、
これはとても嬉しいお知らせです☆

ただ、バージョンアップ内容に、
new format: added support for arm/pe (ARM executables running on WinCE)
とあるように、ARMバイナリのみの対応のようです。

◆Windowsでの使い方◆
今回はWindowsでの使い方をご説明させていただきますが、
他にLinuxやPowerPC-Linux版もあるようです。

  • こちらのページ下の方のDownloadからupx200w.zipをダウンロード。
  • ファイルを解凍して適当なフォルダに置きます。海外ソフトなので、フォルダ名に日本語は使わない方がいいと思います。

    ◆圧縮方法◆
  • w-zero3から圧縮したいファイル(.exeか.dll)をPCにコピー
  • そのファイルをさらにコピーして置きます(圧縮後に不具合が出た時に戻す用)
  • プログラム→アクセサリからコマンド プロンプトを起動してupxを置いたフォルダまで移動。

    upx.exe、圧縮したいファイル(例えばSkype.exe)を、
    C:¥upx200wに置いた場合を例に説明すると、

    cd c:¥upx200w
    upx.exe Skype.exe

    圧縮後にSkype.exeを見ると、ファイルサイズが小さくなってるはずです。
    後はそのファイルをw-zero3に戻せばOK。

    ◆圧縮結果◆
    私のw-zero3に入っていてファイルサイズの大きいもので試してみました。

  • Minimo minimo.exeを圧縮 8.2M→3M ×
       →起動しなくなる
  • Opera opera.dllを圧縮 5.3M→1.7M △
       →起動はかなり早くなるが、メニューが簡素(ソフトキー未対応)になりスクロールバーなどタップ感度が少し落ちた感じがする
  • NetFront NetFront33.exeを圧縮 4M→1.6M ○
       →起動も早くなり、見た目も操作性も落ちない
  • Skype Skype.exeを圧縮 6M→3M ○
       →ちゃんと動く
  • PocketRSS PocketRSS.exeを圧縮 850k→280k ×
       →動作が遅くなり、アイコン位置等もズレるため操作しにくくなる
  • PocketRSS PocketRSSToday.dllを圧縮 620k→220k ○
       →ちゃんと動く
  • GSPlayer GSPlayer2.exeを圧縮 450k→200k ○
       →ちゃんと動く
  • Resco Pocket Radio Radio.exeを圧縮 640k→300k ○
       →ちゃんと動く

    今回圧縮してみたソフトはそのまま使っていきますので、
    もし、使っていて不具合が出た場合はこの記事を修正しますね。

    lightmail.exeなどのプロテクトが掛かってるファイルはPCにコピー出来ないので未検証。
    .NET Framework2.0のdllとかも試そうかと思ったのですが、
    ちゃんと動いてるかの検証が難しく(このソフトは動いたけど、あのソフトはダメとか)
    不具合も出そうなので試していません。

    個人的にMimimoがダメだったのが残念です。
    Operaはいくら軽くなっても最小化した状態で画面方向切り替えると、
    Operaが最前面に出てくるという不具合が修正されるまでは使う気が起きません(苦笑

    昔Windows用自作ソフトを圧縮した時は動作が少し遅くなった気がしたのですが、
    PocketPC用のソフトをこうやって圧縮してみたら、
    圧縮出来たソフトに関しては動作が速くなった気がします。

    ◆試す時の注意点◆
      あくまで私の環境で検証した場合ですので、自分の環境では不具合が出る可能性もあります。upxで圧縮する前に元ファイルは必ずコピーしておき、もし少しでも不具合を感じたらすぐ元のファイルを戻した方がいいと思います。


  • 最新の画像もっと見る

    4 コメント

    コメント日が  古い順  |   新しい順
    Unknown (solipt)
    2006-04-30 14:09:57
    いつも詳しい検証記事、とても参考になります。ありがとうございます。

    一昨日の私のエントリーからもリンクを張らせていただきました。
    返信する
    お返事です (星羽)
    2006-04-30 16:05:23
    ◆soliptさんへ◆

    こちらこそ、UPXのVerUP情報の掲載をありがとうございます。

    w-zero3使い始めの頃一度UPXのページを見たきり、

    すっかり忘れていたので嬉しいお知らせでした♪



    リンクも貼って下さってありがとうございますm(__)m
    返信する
    Unknown (noid)
    2006-05-01 13:30:41
    ソフトキーに関しては, --compress-resources=0 オプションをつければ解決します.

    詳しくは http://nothing.sh/diarylog/200604.htm#20060411223717 をどうぞ.
    返信する
    お返事です (星羽)
    2006-05-02 03:11:10
    ◆noidさんへ◆

    そのようなオプションも用意されてあったんですね☆

    リソースを圧縮対象外にする分圧縮率は下がりそうですが、

    操作性が落ちるよりはいいかもしれませんね。

    それと記事を見させていただきました。

    圧縮すると元の DLL のサイズ分余計メモリを消費してしまうそうで‥

    メモリを取るか容量を取るか‥悩みどころですね(苦笑
    返信する