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 (http://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