パッチ用version.dllを導入しても「Authentication failed : unrecognized kernel32 module. / NM.」が発生する
ワムソフト版吉里吉里の一部のバージョンには、Windows 8以降の64bit OSだとkernel32.dllのパスの判定が誤爆して起動できないという問題がありました。以下のようなエラーダイアログが表示されて起動に失敗します。
---------------------------
吉里吉里
---------------------------
Authentication failed : unrecognized kernel32 module. / NM.
---------------------------
OK
---------------------------
これを回避する手段としては、以下のパッチがよく知られています。
最近、Win10 x64な環境で「失われた未来を求めて」をプレイしようと思ったところ、このゲームは開発元が解散してしまいサポートがないため、上記パッチをありがたく使っていました。
しかし、ある日突然、再度同様のエラーが発生し起動できなくなってしまいました。特に実行環境に手を加えた覚えもなく、せいぜいWindows Updateを疑うぐらいでした。色々と試行錯誤していると、別のパスにインストールし直すと(もちろんパッチのversion.dllも導入して)、実行できるようになることが分りました。
インストールパスに依存した何かが悪さしていると考え、レジストリを検索してみると、以下のようなエントリがありました。
結論から言うと、このエントリを削除することで、正常に動作するようになりました。
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\TRUMPLE\\失われた未来を求めて\\失われた未来を求めて.exe"="$ IgnoreFreeLibrary<nvd3dum.dll>"
これは実行ファイルの互換モードの設定するもので、「$ IgnoreFreeLibrary<nvd3dum.dll>」との指定がされており、以下のページにそれらしい説明があります。
nvd3dum.dll
はNVIDIAのドライバ関連ですが、この互換性設定がなぜパッチ用version.dllに影響を及ぼしているのか、これ以上のことは疲れたので調べていません。また、何をトリガーにしてこのエントリが作成されるのか不明ですが、とりあえず解決です。
佳織ちゃんとのエッチシーンを終え一息ついたところで本事象が発生したので、とても辛かったです。
われめてはアニメを見てから原作ゲームをやりたいとずっと思っていたので、これから非常に楽しみにしております。