In particular, we've created an .msi installer that installs assemblies to the GAC, and has a built-in DoRegisterTypeLib operation on msxml3.dll. However (and somehow), the bad msxml3.dll version (8.70.1104.0, which Microsoft knows about) still exists on some end-users' PCs. And that DoRegisterTypeLib fails (with error code 11) if the msxml3.dll is that bad version. We tell our end-users to "Repair" their .NET installation, and boom, everything works.
So again, what does this "Repair" do? Does it update certain/any Microsoft .dlls?
And even if we shouldn't make that DoRegsiterTypeLib on that (or any .dll), I still really want to know what "Repair .NET" does under the hood. Any insight anyone has would be appreciated!