Installation of .NET Framework 3.5 SP1 fails due to an existing .NET 4.0 mscoree.dll
ISSUE DESCRIPTION:
Failing installation of .net framework 3.5 sp1 with existing mscoreee.dll file version being 4.0
ENVIRONMENT:
This is applicable to both 32 bit and 64 bit machines, running Windows Server2003/XP
Symptom and inference :
It may so happen on a server 2003/XP machine where .net framework 4.0 has been uninstalled earlier, that the ‘mscoree.dll’ file gets left out at C:\Windows\System32, and is still of 4.0 version.
In this case the installation of .net framework 3.5 sp1 fails as it is unable to replace the higher version mscoree.dll file with a lower version one.
Having enabled windows installer verbose logging on the machine (https://support.microsoft.com/kb/223300) you will see the following as part of the newly formed .net framework 3.5sp1 failed installation log:
09/21/12 21:17:36 DDSet_Status: Loading mscoree.dll
09/21/12 21:17:36 DDSet_Status: Loading fusion.dll using LoadLibraryShim()
09/21/12 21:17:36 DDSet_Error: Error occurred while initializing fusion. Setup could not load fusion with LoadLibraryShim(). Error: 0x80131700
MSI (s) (7C!58) [21:17:37:003]: Product: Microsoft .NET Framework 2.0 Service Pack 2 -- Error 25007.Error occurred while initializing fusion. Setup could not load fusion with LoadLibraryShim(). Error: 0x80131700
Error 25007.Error occurred while initializing fusion. Setup could not load fusion with LoadLibraryShim(). Error: 0x80131700
09/21/12 21:17:37 DDSet_CARetVal: 25007
09/21/12 21:17:37 DDSet_Exit: InstallAssembly ended with return value 1603
MSI (s) (7C:84) [21:17:37:065]: User policy value 'DisableRollback' is 0
MSI (s) (7C:84) [21:17:37:065]: Machine policy value 'DisableRollback' is 0
Action ended 21:17:37: InstallExecute. Return value 3.
Resolution:
The resolution is simple really: you need to rename (or delete) the existing mscoree.dll file from under the C:\System32 folder and then retry the installation of .net framework 3.5 sp1
Content By : Ritwik Sinha