読む・考える・書く

マスコミやネットにあふれる偏向情報に流されないためのオルタナティブな情報を届けます。

CCleanerによるThunderbirdのアカウント破損問題がまた発生。゚(゚´Д`゚)゚。

定番クリーニングソフトのCCleanerは以前から使っているのですが、事情により改めてクリーンインストールしたところ、Thunderbirdのアカウント破損問題がまた発生してしまいました。

CCleanerの最新版(v5.42.9495)をインストールしてそのままクリーニングを行った後Thunderbirdを起動してみたところ、メールアカウントがきれいさっぱり消えています。

一瞬、メールデータが全部消えたのかと思って呆然としますが、データは消えていません。CCleanerがThunderbirdのアカウント設定ファイルである「prefs.js」を破損してしまうことによって起こる問題です。

これはCCleanerの v5.32.6129 以降のバージョンで発生するようになった問題で、昨年秋ごろThunderbirdユーザの間で大騒ぎになりました。このときの経緯と解決策については、下記「from.hkdt」さんに詳しい記事があります。

note.lilish.com

■ 何が起こっているのか

以下、何が起こるのかを具体的に見てみます。

CCleanerをインストールして起動してみると、デフォルトでThunderbird関連のクリーニング項目として「保存場所」にチェックが入っています。この状態でクリーニングを実行すると、「prefs.js」が壊されてしまいます。

クリーニング実行前の「prefs.js」は46KBほどあったのですが、

実行後にはこれが6KBほどに縮んでいます。

何が起こっているかというと、まずCCleanerが「prefs.js」内の日本語部分を書き換えて文字化け状態にしてしまいます。

実行前:

実行後:

そのあとThunderbirdを起動しようとすると、Thunderbirdは「prefs.js」が正しく読めないので、これを「Invalidprefs.js」というファイル名に変更し、新たに空っぽの「prefs.js」を作ります。その結果、アカウントが何もない状態でThuderbirdが立ち上がってしまうわけです。

■ 解決策と再発防止策

今回はバックアップしてあった「prefs.js」で壊れた「prefs.js」を置き換えることで、無事復旧することができました。

バックアップがない状態でこの問題が起こってしまった場合、「prefs.js」の復元はかなり面倒なことになりますが、やり方は上記「from.hkdt」さんの記事中にありますので、万一の場合は参考にしてください。

ちなみに、Thunderbirdのプロファイルフォルダはデフォルトでは下記の場所にあり、「prefs.js」はその直下にあります。メールデータ本体もプロファイルフォルダ内に格納されています。(「プロファイル名」はランダムに生成された英数字列。)

C:\ユーザー\(ユーザー名)\AppData\Roaming\Thunderbird\Profile\(プロファイル名).default

復旧後の再発防止策としては、とにかくCCleanerのThunderbird関連項目をチェックして、「保存場所」にチェックが入っていたらこれを外しておくことが重要です。

■ まとめ

この問題はCCleanerのv5.32で発生し、v5.42の今も仕様が変更されていない(英語圏では問題が発生しないため?)ので、ユーザが自衛策を講じるしかありません。なので、

  • CCleanerをバージョンアップしたら必ずThunderbird関連の設定を確認し、「保存場所」にチェックが入っていたら外すこと
  • CCleanerの実行前に必ずバックアップ(Thunderbirdのプロファイルフォルダも含めて)を取ること

が大事です。

この問題に限らず、バックアップはCCleanerのようなシステムに変更を加える処理を実行する前に取るように心がけましょう。

【関連記事】