MSHTML DLL on Windows 10

Tyress picture Tyress · Aug 6, 2015 · Viewed 22.3k times · Source

I have a C# solution that makes use of Smith Html Editor (I'm developing on the main project which uses this, so I don't know much about this library), which makes a reference to MSHTML. This worked fine until my upgrade to Windows 10 and it can't find MSHTML anymore. I can directly reference the DLL on the GAC folder, and it stops complaining and thus builds, but it's getting some runtime errors related to the editor not instantiating.

After a little research, it turns out that MSHTML is phased out of Windows 10 as it now uses EdgeHTML. Does anyone have any idea how I can go around this?

The solution still works for Windows 7.

Answer

user1233749 picture user1233749 · Aug 10, 2016

I just created a blog post on this issue. The problem is that the Microsoft.mshtml.dll assembly in the Global Assembly Cache becomes unregistered from ActiveX during the upgrade process. To fix this issue, it is necessary to run "regasm" on the assembly:

  1. Open an instance of "Developer Command Prompt for VS2013" (or whatever version of Visual Studio you happen to be using). Run it as Administrator by right-clicking the icon and selecting, "Run as Administrator."
  2. Navigate to "C:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a." It is possible your path will vary. To verify, go to "C:\Windows\assembly\GAC\Microsoft.mshtml" and type "dir."
  3. Once you are in the correct path, type regasm Microsoft.mshtml.dll