拡張カーネル v3 以降を入れると Adobe Reader 9が落ちる理由

何度か不具合で上がっていたのですが原因だけ特定できたので報告なのです

まず、原因の関数は SetDllDirectory(W)

通常、環境変数 PATHは プロセス起動時に
起動アプリのパス;オリジナルの PATH という形に変更されます

Firefox 起動時には
C:\Program Files\Mozilla Firefox;%PATH%

そこから、 Adobe リーダーがインラインで起動されると

C:\Program Files\Adobe\9.0\Reader;C:\Program Files\Mozilla Firefox;%PATH%

更にプラグインが読み込まれて

C:\Program Files\Adobe\9.0\Reader\plug_ins;C:\Program Files\Adobe\9.0\Reader;C:\Program Files\Mozilla Firefox;%PATH%

という形に編成されます

KDWの SetDllDirectory は引数なしで 呼び出されると、最初にプロセスが設定したPATHを無効化するので

%PATH% になります。
すると、Adobe Reader にパスが通らなくなるので、ロードできない、DLLができて落っこちるというわけです。

簡単な対策は、 C:\Program Files\Adobe\9.0\Reader に環境変数、PATHを追加することなのですが、これは改善しなくてはいけませんね
|・ω・)

おすすめ

3件のフィードバック

  1. しらた より:

    こちらでもFirefoxでReader9が落っこちるという症状が出ています。簡単な対策として示されているように「C:\Program Files\Adobe\9.0\Reader に環境変数、PATHを追加する」を、私の環境に合わせて「C:\Program Files\Adobe\Reader 9.0\Reader」をPathに追加することで対処してみたのですが、一回目は正常にpdfが表示されますが、それ以降、二回目のpdf参照でFirefoxが落っこちます。報告まで。

  2. blackwingcat より:

    既に対策済み版リリースしてるのでお試しくださいませ

  3. しらた より:

    試してみました。今のところ落っこちなくなっているようです。ありがとうございます。また何かありましたら報告します。

コメントを残す

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