Error 0x80131702 when installing .Net framework 2.0 Redist


The other day I encounter a problem when installing .Net framework 2.0 redist. It is a fresh install on a clean Windows XPSP2 machine.


During the install, setup pops up a dialog says LoadLibraryShim failed to locate fusion.dll, hr=0x80131702.


From CorError.h (in you .Net framework SDK include directory):


#define CLR_E_SHIM_INSTALLROOT            EMAKEHR(0x1702)     // Install root is not defined


The error means mscoree cannot find where the installroot is.


InstallRoot is a registry value of type REG_SZ in HKLM\Software\Microsoft\.NetFramework. It usually points to “%windir%\Microsoft.Net\Framework” in x86 and “%windir%\Microsoft.Net\Framework64” in x64/ia64 (replace %windir% with your real Windows directory.)


After I added the InstallRoot registry, the setup can be resumed and finished successfully.

Comments (7)

  1. Mattias says:

    OK it’s nice to know the solution, but the obvious question is why the error happened to begin with? Why wasn’t the InstallRoot entry written by the setup program? I shouldn’t have to tell dotnetfx how to do its job.

  2. Out of the many times of installing NetFx, I only encountered this problem once.

    I don’t exactly know why the registry is not written correctly, but it certainly depends on the environment.

  3. unknown and interesting ? says:

    unknown and interesting ?

  4. chanchy says:

    como corregir este error

  5. Electronic Screw says:

    DEBUG: Error 2769:  Custom Action CA_InstallAssemblyDef.3643236F_FC70_11D3_A536_0090278A1BB8 did not close 2 MSIHANDLEs.

    The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: CA_InstallAssemblyDef.3643236F_FC70_11D3_A536_0090278A1BB8, 2,

    What is this error? Why i am getting this?

  6. Electronic Screw,

    Sorry I have no idea what that is.