【问题标题】:Adobe Reader X plugin works in Win7, not XP?Adobe Reader X 插件适用于 Win7,而不是 XP?
【发布时间】:2013-03-03 09:18:58
【问题描述】:

我们有一个专为 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 以进行检查)。

【问题讨论】:

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


    【解决方案1】:

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

    奇怪的是...更改任何这些变量,一切正常。 .Net 3.5 和 2.0 在保护模式下都可以正常加载。 Windows 7 在保护模式开启的情况下可以正常加载 .Net 4 dll。

    在适用于 Windows XP 的 Adob​​e 中关闭保护模式可解决问题,因此 DLL 可以正常加载。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 2011-06-11
      • 2011-04-04
      相关资源
      最近更新 更多