Windows XPや 2000に何故 .Net Framework 4.5が入らないか

Windows 2000 に .Net Framework 4.0が入ってそれなりに動くようになったので、今度は 4.5がインストールできないか実験してみました。

4.5はただの 4.0の改良版なので、普通に考えればそのまま動くはず…

.NET Framework 4.5 RCはWindows XPとVistaではサポートされません | サラリーマンの副業奮闘記

まず、インストーラーはそのまま実行できるのでエラーダイアログが出たところで、ファイルの吸出し。

msiexec /i netfx_Full_x86.msi EXTUI=1 /lv*x "%temp%\lognet45.log"
を実行します。

MSI (s) (94:48) [14:02:57:265]: MainEngineThread is returning 1603
MSI (s) (94:08) [14:02:57:265]: Destroying RemoteAPI object.
MSI (s) (94:34) [14:02:57:281]: Custom Action Manager thread ending.
MSI (c) (28:94) [14:02:57:312]: Back from server. Return value: 1603
MSI (c) (28:94) [14:02:57:312]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (28:94) [14:02:57:312]: PROPERTY CHANGE: Deleting SECONDSEQUENCE property. Its current value is '1'.
操作終了 14:02:57: ExecuteAction。 戻り値 3。
操作終了 14:02:57: INSTALL。 戻り値 3。
MSI (c) (28:94) [14:02:57:359]: Note: 1: 1708
MSI (c) (28:94) [14:02:57:359]: 製品: Microsoft .NET Framework 4.5 -- インストールに失敗しました。
MSI (c) (28:94) [14:02:57:375]: MainEngineThread is returning 1603

INSTALLでエラー3が帰ってるのが原因で終了
ちょっと遡る

MSI (s) (94:48) [14:02:57:140]: Error in rollback skipped.    Return: 5
MSI (s) (94:48) [14:02:57:140]: Unlocking Server
MSI (s) (94:48) [14:02:57:140]: PROPERTY CHANGE: Deleting UpdateStarted property. Its current value is '1'.
操作終了 14:02:57: INSTALL。 戻り値 3。
Property(S): UpgradeCode = {10E35DD9-8269-3F1E-97F4-99F0DA3C2CEC}

INSTALLでエラーなのだけどどこでエラーなのかは具体的にわからない。

MSI (s) (94:48) [14:02:48:234]: Creating MSIHANDLE (6) of type 790536 for thread 2888
MSI (s) (94:B0) [14:02:48:234]: Invoking remote custom action. DLL: D:\WINNT\Installer\MSIC9.tmp, Entrypoint: QuietExec
MSI (s) (94:B0) [14:02:48:250]: Closing MSIHANDLE (6) of type 790536 for thread 2888

怪しいのがこれ、DLLの呼び出し実行でスレッドがわずか 0.016秒で終了している所

mutex
ファイルを取り出してみた。正式ファイル名は netfxca.dll
kernel32.dllの LCMapStringExInitOnceExecuteOnceGetTickCount64 を使っている…。

というわけで、これが原因・ω・)ノ
InitOnceExecuteOnce は特殊なコンポーネントなのでごまかすの難しいなぁ…。

無理やり実行させてみると、メモリ ロケーションへのアクセスが無効です。 (998)なので初期化処理も特有のようだ

関連記事:
Windows 2000に .Net Framework 4.5をインストールしてみた(笑)

おすすめ

コメントを残す

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