Adobe Reader X插件适用于Win7,而不是XP?

时间:2013-03-14 20:08:26

标签: visual-studio-2010 plugins visual-studio-2005 windows-xp adobe-reader

我们有专门为Reader X / XI设计的托管C ++ Adob​​e Reader插件。它在Windows 7中运行良好,但在Windows XP上它会引发COM错误 - 类没有注册。

奇怪的是,这只发生在我们将项目从vs2005项目更新到vs2010之后。旧的vs2005插件工作得很好。任何人都有任何线索,为什么会这样?当我们搬到2010年时,我们只使用了标准项目自动升级。所有其余代码都是相同的。

修改:有关该问题的更多说明

插件DLL本身加载得很好。只有当我们尝试通过COM互操作加载.Net 4 dll时,才会遇到异常。

以前,我们尝试加载的dll是用.net 2.0编写的,并且在Windows XP中加载得很好。但.Net 4 dll只会在Win7中加载。请注意,.Net 3.5似乎就像2.0一样工作。它只有.net 4中断(我们将完全相同的代码重新编译为2.0,3.5和4.0以进行检查)。

1 个答案:

答案 0 :(得分:0)

原来问题是Adobe的保护模式和尝试通过COM互操作加载.Net 4 DLL的组合,但仅限于Windows XP。

奇怪......改变任何变量,一切正常。 .Net 3.5和2.0都可以在保护模式下正常加载。 Windows 7在保护模式下加载.Net 4 dll。

在Adobe for Windows XP中关闭保护模式可修复此问题,以便DLL加载正常。

我希望这可以帮助遇到此问题的其他人。

相关问题