我正在尝试通过MSDN上的COM Elevation Moniker文章中概述的CoGetObject方法启动.NET对象。我开始使用Vista Bridge代码然后偶然发现older sample that shows some of the bits wired up。在这一点上,我试图找出为什么我在调用此方法时抛出FileNotFoundException:
var result = UnsafeNativeMethods.CoGetObject(monikerName, ref bindingOptions, interfaceId);
只有在显示同意提示后才会抛出异常,这很奇怪。我正在使用Windows 7 x64计算机,如果这有帮助并且有posted the full source of my spike。
我在这里错过了什么可能导致抛出FileNotFoundException?
答案 0 :(得分:0)
您是否使用/ tlb开关运行RegAsm.exe以导出并注册COM服务器的类型库?没有注册的类型库可能会导致FileNotFoundException。
答案 1 :(得分:0)
这不是直接的答案,但是您可以使用RunElevatedNet C#示例项目来尝试在提升项目中启动COM服务器。研究在非提升模式下是否还会发生相同的FileNotFoundException错误,可能有助于调试问题。