«前の日記(Wed, 17 Aug 2011 (平成23年)) 最新 次の日記(Fri, 19 Aug 2011 (平成23年))» 編集 RSS with tsukkomi RSS without tsukkomi

実験的「実験的日記」


Thu, 18 Aug 2011 (平成23年) [長年日記]

_ Thunderbird Portable 5.0 から 6.0 へ

複数の PC で同じようにメールを管理したい、でも IMAP なサーバが用意できないという条件下で思いついたのが Thunderbird Portable をファイルサーバに置いて、誰にでも読まれてしまわないようにはフォルダへのアクセス制限をかけておくという方式。そんな状況で起きたトラブル。

更新しても「更新をインストールできませんでした。Thunderbird が他には起動していないことを確認した後にもう一度 Thunderbird を再起動してみてください。」と言われてしまう。状況はこちらに書かれているのとまったく同じ。

上の質問では Thunderbird Portable のインストーラをダウンロードしてきてごく普通にインストールしてからデータを戻してみてくださいという回答で解決してたけど、自分が見つけた解決策はファイルサーバにログオンしてそこで更新作業をすれば問題なしというもの。こっちのほうがちょっと楽。

さて、共有フォルダから起動してて更新に失敗すると App\Thunderbird\updates\0 にログが残ってることが試行錯誤中にわかったので見てみたら

EXECUTE PATCH thunderbird.exe
rename_file: failed to rename file - src: thunderbird.exe, dst:thunderbird.exe.moz-backup, err: 13

となっていて、thunderbird.exe をバックアップ用にリネームしようとして失敗していることがわかった。タスクマネージャーで確認してみると Updater.exe が動き出す直前に thunderbird.exe はいなくなっているのでプロセスが残ってしまってファイル名の変更ができないわけではないみたい。だとすると原因は何なのだろうと思いながら、環境をいろいろと変えて更新を実行してみたらこんな結果になった。

ファイルサーバクライアント OS更新の成否
Windows Server 2003Windows XP失敗
Ubuntu 10.04Windows XP失敗
Windows Server 2008Windows XP失敗
Windows Server 2008Windows 7成功
Windows Server 2003Windows 7失敗

Windows Server 2008 と Windows 7 の組み合わせの時、つまり SMB 2.0 で通信できた時だけ成功した。SMB 2.0 だと通信効率がよくなっているらしいから、thunderbird.exe プロセスを終了してから thunderbird.exe をいじれるようになるまでの時間が短くなってファイル名変更でエラーにならないというような状況なのだろうか。こういう場合って何を使ってどこをチェックしたらこの仮説の検証ができるのかな。

目次

«前の日記(Wed, 17 Aug 2011 (平成23年)) 最新 次の日記(Fri, 19 Aug 2011 (平成23年))» 編集