CCLEANER 5.44~5.57 をインストールしようとすると一部の環境でクラッシュするのは Avast! の低品質な広告SDKが原因だった

英語版の Windows 2000 に CCLEANER 5.57を入れる場合問題ないのですが、日本語版にいれようとするとインストールでクラッシュしてしまいました

調べてみると
%temp%\nsz3A.tmp\a\asdk.dll の COM オブジェクト読み込みで失敗したため KERNEL32.DLL のRaiseException をコールしてDLLが自爆して強制終了してることが分かりました

調べてみると asdk.dll は Avast Ad SDK でした。
要するに AVASTの広告用のSDKなのですが、 AVASTは昔 Windows 2000 非対応になる寸前に、インストーラーのOSバージョンチェックで XP 未満だった場合エラーメッセージを出さずにアプリをクラッシュする様な劣悪な機構を搭載していることが知られています
Avast!2014はわざとWin2000でクラッシュさせてることが判明

実際のASDK.DLLのコードがこちらです

L10084030:
  push ebp
  mov ebp,esp
  sub esp,00000010h
  lea ecx,[ebp-10h]
  push 00000000h
  push [ebp+0Ch]
  push [ebp+08h]
  call SUB_L10083F40
  push L1011A4A0
  lea eax,[ebp-10h]
  push eax
  call SUB_L1009C30F ←強制クラッシュ
  INT3 ←強制停止

自社製のインストーラーならまだしも、広告用の組み込み用SDKに広告が表示できない環境下では強制的にインストーラーをクラッシュさせる機能を組み込むというのは、ちょっと狂気的なものを感じます。

Error while updating to V5.44.6575 - CCleaner Bug Reporting - CCleaner Community Forums
5.51 installer crashes at WS 2008 R2 - CCleaner Bug Reporting - CCleaner Community Forums

Windows 2000何かに入れる方が悪い!なんて思われるかもしれませんが、この問題は正規の現行OSユーザーの中でも発生しています

Avast! のアプリが如何に劣悪なのかは分かるかと思います( ˘ω˘)

Windows版「CCleaner」のインストーラーに「アバスト」がバンドル - 窓の杜

迂回方法は、インストーラーを使わずポータブル版ZIPを使うことですかね

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です