カーネル v11x不具合まとめと v11cリリース

* VC6のcl.exeとoffice2000がアプリケーションエラーで落ちる件
* firefoxが起動しない件

どうも、Windows は内部仕様で、一部のランタイムのエクスポートテーブルのオフセット+4にある日時を比較して、一致した場合、エクスポートテーブルの内容を書き換えずにオリジナルのまま使うという仕様があるようで、これに引っかかり(つまり、2005年以降のDLLを呼び出していて) なおかつ、レジストリにアクセスするアプリケーションが引っかかったみたい。

* SQL2005Express のインストールでこける件

調べてみたら、確かに、KEY_WOW64_32KEYフラグが有効になってたので、それをすっ飛ばす処理入れてみたところ、 KEY_WOW64_64KEYでもアクセスすることが判明。確か、XPは指定されてても32bitの場合無視してアクセスできるから、こうなってるのかも。たぶんSQL2005のインストーラー側の問題だと思うのだけど、面倒だなと思いつつ、結局NTDLL.DLLを更新することに。

32bitアプリから 64bit レジストリにアクセスする方法と 2000での注意

というわけで、今までの改造カーネルをまとめて一つに入れたほうが安心のような気がしたので、まとめてパッケージしてみました。

Windows 2000 Kernel32 改造計画【BM】

setupapi / ntdll / kernel32 / advapi32 / wtsapi32
の5本セットです。

Windows 2000に SETUPAPIに SetupUninstallOEMInf を追加
Windows の NTDLL.DLLの RtlCaptureStackBackTrace の バグ

アンインストールの処理が気になる人は、いったん

KB915985、KB935839、KB888609 をアンインストールしてから入れてくれるといいよ|・ω・)ノ

おすすめ

4件のフィードバック

  1. vpointx より:

    おかげさまで動きました。
    ありがとうございました。
    簡易インストールも、更新しました

  2. vpointx より:

    ご報告
    改造版入れたら、なんと、今朝、立ち上げてみたら、IME2010の辞書のアップデートのアイコンが出てたので、クリックしたら、辞書がアップデートされたみたいです。

  3. vpointx より:

    たびたび恐縮です
    ファイル名: mp10jp2k.exe
    バージョン: Build 4068c
    Download: 4068c
    更新日: 2011/10/23 10:00
    のMP10_2k.exeが初期化失敗するようです。
    Second chance exception 0xC0000142 (DLL Initialization Failed) occurred in “ntdll.dll” at address 0x77FAC574.
    Exited “MP10_2k.exe” (process 0x900) with code 128 (0x80).
    のようになりました。

  4. blackwingcat より:

    こちらの環境では起こらないみたいなので、
    system32 フォルダに 2kdll.dllが存在したり、
    古いバージョンの KDW の *XP.DLL がパスの通った場所に存在したり、KDW関連ファイルが %TEMP% にないか確認してみてください

コメントを残す

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