Perl版実況中継のスレ

e221cf97 :むつ Hb8na+UNdtc 2004-06-05 14:28 e221cf97x.zip
どこに書き込もうか迷ったのですが、一番それらしいここに。

Windows ユーザー用に Cygwin から新月に必要なものを適当にもらってきて、起動と終了だけする簡易な GUI(ランチャー)をくっつけた「新月導入パッケージ」なるものを作ってみました(かなり適当に)。
すでに新月(というか、Cygwin)を導入済みのかたには無用の長物なのですが、いろいろ問題がありますので、とりあえずファイルを晒してご意見を伺いたいと思います。
ウイルスバスターでスキャンしておりますが、ご利用の際は自己責任でお願いします。

大きな問題点
・ファイルサイズを抑えるために、新月で使っていないと思わしき perl モジュールを削除したため、不具合が起こる可能性が高い。
・それでもファイルサイズが大きい。
・勝手に Cygwin 版 perl および、いくつかのコマンドを同梱している。
・勝手に shingetsu-0.3.0 を同梱している。

何とかしたい問題点
・毎回 mount.exe を実行していて無駄である(*1)。
・GUI ランチャーは HSP 製である。
・GUI ランチャーはちょくと様(*2)のサンプルコードの切り貼りで作られている。
・エラー処理は行っていない。
・起動・終了時に利用するバッチファイルがスマートではない(バッチファイルを利用している点ですでにスマートではないが。中で行っていることも泥臭い)。
・cygwin1.dll が2つも入っている。
・名前が適当かつダサイ(どなたか良い名前をつけてください)。
・アイコンがデフォルト(ください)。
・テストが不十分(Windows ご利用の皆様、どうかテストをお願いいたします(*3))。
・説明書が無い。
・一度インストールした後に別のフォルダにインストールしなおすとき、レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
以下を消す必要がある(レジストリ消去用の *.reg ファイルか VBScript を用意したほうが良い?)。

アーカイブの中身
perl サブフォルダ以下に Cygwin の perl パッケージとmount, kill コマンドが入っています。
ShinGETsu サブフォルダ以下に shingeysu-0.3.0 が入っています。
Launch.exe が起動用の GUI、*.vbs *.bat stop.txt が起動、終了処理に必要なファイルです。誰かもっとスマートな方法をお願いします。orz

起動・終了
適当に解凍していただくと、shingetsu-launch というフォルダができると思います(このフォルダ名はお好みで変更してください。サブフォルダは変更しないでください)。この中の Launch.exe をダブルクリックしていただければ、新月が起動します。
「×」ボタンでは終了しません。タスクトレイに消えます。終了はメニューから行ってください。何の確認も無くいきなり終了します(手抜きです。ごめんなさい)。
このとき perl プロセスが残ってしまうことがあるようです。たぶん実害は無いでしょう。

中のプロセス
起動 -> Launch.exe -> start-shingetsu.vbs -> mount-shingetsu.bat と start-shingetsu.bat を起動する。
終了 -> Launch.exe -> stop-shingetsu.vbs -> stop-shingetsu.bat(中で kill コマンドを実行している)。
要はバッチファイルを動かしているだけです。

*1 perl のこはさっぱりわかりません。なので、"mount.exe -b インストールしたフォルダ\\perl /" を実行して、/usr/lib/perl5 以下が見つかるようレジストリに書き込んでいます。
すでに /(ルートディレクトリ)が設定済みの場合上書きされることはありません。
本来、1度だけ設定すればいいものを毎回行っているのはただの手抜きです。気になるかたは start-shingetsu.vbs の 4 行目
WSHSHell.Run "mount-shingetsu.bat",0
の行頭に ' をつけるか、その行を全部消すかしてください。

*2 『HSPの裏技??』(http://yokohama.cool.ne.jp/chokuto/)
>> サンプルスクリプトおよびモジュールは、基本的には自由に利用してくださって構いません。
とのことですが、どこまで「自由」に利用してよいのか確認しておりません。

*3 すでに Cygwin 導入済みでも動くはずです。しかし、perl モジュールはこの導入パッケージに入っているものではなく、Cygwin でインストールされたものを見に行きます。
「とりあえず Cygwin のことは忘れてテストしてやるぜ」という勇者が現れてくれることを期待します。

Win32 ネイティブ版や Java 版までのつなぎとして使い物になればよいのですが。
なにかありましたら速やかにファイルを削除していただく方向性でお願いいたします。
Powered by shinGETsu.