作者: Bruce.
日時: 2006/12/3(12:54)
Bruce.です。

映画の待ち時間にネットカフェから。
#何の映画かはナイショ(笑)

藤岡和夫 writes:

> > あとのメールにありましたが、ユーザー名がASCIIの範囲外の場合と
> > いうのはあるかもしれませんね。ただわたしがインストールに失敗
> > したときはユーザー名は半角英数字のみでしたので、これも
> > あたりません。
> 
>  もう忘れましたが、一度インストーラか何かActiveState自身がサイトで問題
> をアナウンスしたときがあったような気がします。それは818だったかもしれま
> せん。818と819のリリースには10日間しか間がありません。8月の話です。

わたしが失敗したのは、Windows 2000でバージョンも 5.8.6あたりのはず
なのでこのパターンではないです。その後のバージョンではmsiで異常なく
インストールできています。

> > あくまでGUIのppmが使いたい、けどユーザー名に漢字を使ってしまって
> > インストールしてしまった。ということなら、
> > 環境変数USERNAME と USERPROFILE を適当な英数字名に変えてやって
> > 起動すれば使えるようになります。
> 
>  これは、ppm.batにsetするだけで済みますかね。

元はシステムが自動的に設定する環境変数なので、恒久的に書き換えてしまう
のは問題ありだと思います。特に別のアプリをすでにインストールして使って
いたりした場合には何が起こるかわかりません。

で、私が試したのはコマンドプロンプトを開いて、コマンドラインから

set USERNAME=hogehoge
set USERPORFILE="c:\document and settings\hogehoge"

のように実行してから ppm.batを実行しました。
今ppm.batを見られないので推測ですが、名前がバッチファイルで中身がperl
スクリプトだとちょっと気をつける必要はあるとは思いますが、基本的には
ppm.bat書き換えでいけると思います。本質的にはあらかじめコマンドライン
で設定するのと変わらないので。

ただ気をつけなければいけないのは、普通にバッチファイルの中で
set USERNAME=...
をやってしまうと、そのプロンプトの環境において恒久的な書き換えを
することになってしまうので、

いったん古い値を保存→書き換え→終了直前に保存した値を書き戻し
のような手順をとったほうがよいかもしれません。

ひょっとしたら、バッチファイルの先頭で setlocal、末尾でendlocal で
OKかもしれません。

いじょ。