Windows 2000に .Net Framework 4.5をインストールしてみた(笑)
とりあえず、 Windows 2000に .NET Framework Full Client 4.5をインストール成功したので報告。
単にインストール成功しただけ…ではあるのだが。
まず、方法。
kernel32 に LCMapStringExと InitOnceExecuteOnce と GetTickCount64 を実装。
netfxca.dll を 4.0のものと入れ替えて MSIを作成。
サービス関連のインストール部分を削除(2000だと失敗するため)
これでとりあえず、エラーなしでインストール成功。
だが、4.5対応アプリを起動するとエラー
どういうことか検証してみたよ|。・ω・)ノ
欠陥エクスポート
mscoreei.dll
ADVAPI32 RegDeleteTreeW EventWrite KERNEL32 |
clr.dll
ADVAPI32 EventRegister EventWrite KERNEL32 OLE32(遅延) |
msvcr110_clr0400.dll
KERNEL32 FlushProcessWriteBuffers GetNumaHighestNodeNumber GetCurrentProcessorNumber GetLogicalProcessorInformation CreateSemaphoreExW GetTimeFormatEx GetDateFormatEx GetLocaleInfoEx IsValidLocaleName CompareStringEx GetUserDefaultLocaleName EnumSystemLocalesEx |
とりあえず、コアとなるDLLにこれだけ欠陥エクスポートがあることが判明・ω・;
この様子では(追加する手間も含めた上で)使えるようにするのは難しいという感じですかね。
久しぶりに起動させたとあるニコニコ動画用コメントビュアーが来年3月まででXPを切り、.Net4.5.1に移行するというのを先ほど見つけ、未だにメイン機はXPで、
(XP入れるには)性能とか低めなノートマシン用に2Kを入れようとしていた(そのマシンの液晶が割れたため放置)
レベルなので1台時代遅れ性能なメイン機より性能が低いVistaノートはあっても性能や機能的にメイン機でないとやっぱりだめだし、
入手したけど放置されている7(64bit)はドライバ的に動かないものがあったりで結局はXPで使える別のビュアーに移行しないといけないのかなぁと考します。
長文を書いてしまいましたが、どんどん切られていくなぁというのを実感しました。
あれだけ長々と書かせていただいたというのに先ほどの長文に訂正というか注訳です。
「(前略)~7(64bit)~(後略)」の部分ですが、7マシンを入手したのではなく64bit7のインストールディスクを入手したという意味です。
最近、XPで.Net 4.5.2を動かしたくて、こちらにたどり着きました。
「Windows XP/2003 Extend Kit」のおかげで、インストーラーは立ち上がるようになったのですが、バージョンチェックではじかれてしまいます。
KDWやNNN4NT5で、バージョン偽装してもダメでした。
そのかわり、Mono 3.12.1はインストールに成功し、一か所レジストリの修正が必要でしたが、Monoで4.5.2のアプリを起動することができました。
Mono 4.0.1以降は、インストールできるものの起動せず、Dependency Walkerで確認すると、欠陥エクスポートがいくつかありました。
Extend Kitで、欠陥エクスポートに対応していただけないでしょうか。