Windows Server 2003/2008をデスクトップOSに 9
259 :
248:
HALOのメモリ不足エラーがまた出たので詳しく調べてみた。
何故か固定アドレスでメモリを確保する処理がある(普通はそのように作らない)
そのメモリ領域をwininet.dllとiertutil.dllが占有してしまうため、エラーになってしまうみたい。
対策法
rebase.exeをSDKかどっかから持ってくる。
※rebase.exeはWindowsの起動ロゴを変えるためにntoskrnl.exeの
チェックサムを直すために使ったのと同じツールです。
コマンドプロンプトを起動して次のコマンドを入力する。
>cd (HALOのインストール先)
DLLを複製する
copy %windir%\syswow64\wininet.dll .
copy %windir%\syswow64\iertutil.dll .
DLLの配置アドレスを変更
rebase -b 4f000000 wininet.dll
rebase -b 4f100000 iertutil.dll
halo.exeが上記のDLLをロードするようにする
echo. > halo.exe.local
その後はkb969897とか入れても、今のところ問題なし。
日本語でメモリ不足のダイアログが出るが、これは続行しても大丈夫です。