C# COM标准封送拆收器无法修复不匹配

C# COM标准封送拆收器无法修复不匹配,c#,com,com-interop,C#,Com,Com Interop,在Windows 7上,应用程序安装成功。在windows 10上安装失败 COM标准封送拆收器无法修复服务器提供的IID{618736E0-3C3D-11CF-810C-00AA00389B71}与客户端请求的IID{00020400-0000-0000-C000-0000000000 46}之间的不匹配,处理程序CLSID{00000000-0000-0000-0000-00000000000000}。错误代码为0x800401fd 我跟踪了CLSID,找到了 [系统运行时互操作服务Guid

在Windows 7上,应用程序安装成功。在windows 10上安装失败

COM标准封送拆收器无法修复服务器提供的IID{618736E0-3C3D-11CF-810C-00AA00389B71}与客户端请求的IID{00020400-0000-0000-C000-0000000000 46}之间的不匹配,处理程序CLSID{00000000-0000-0000-0000-00000000000000}。错误代码为0x800401fd

我跟踪了CLSID,找到了

[系统运行时互操作服务Guid(“618736E0-3C3D-11CF-810C-00AA00389B71”)] 可访问的公共接口

OLE自动化协议使用以下GUID

是否有一些方法来调试此问题,以便我可以看到它试图安装或注册的内容?或者我只是开始移除东西,看看是什么修复了它

Windows Installer InstallAware是软件包的创建者

我在win 10机器上浏览了HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\Interface{618736E0-3C3D-11CF-810C-00AA00389B71}


它有一个键,其中值为{03022430-ABC4-11D0-BDE2-00AA001A1953}

处理程序CLSID似乎是错误的。在我的Windows 10框中,处理程序(reg子项ProxyStubClsid32)的CLSID为{03022430-ABC4-11D0-BDE2-00AA001A1953},这是位于C:\Windows\System32\oleacc.dll中的PSFactoryBuffer。IAccessable接口声明似乎缺少[ComImport]属性。它告诉安装程序不要尝试注册接口。Brr,你会有点想知道有多少Win7机器被这搞砸了。此安装完成后返回到Win7计算机,运行Regedit.exe并导航到HKEY_LOCAL_machine\SOFTWARE\WOW6432Node\Classes\Interface\{618736E0-3C3D-11CF-810C-00AA00389B71}。必须只有一个ProxyStubClsid32键的值由Joseph记录。