【问题标题】:Where is the latest version of the Office COM AddIn shim code?最新版本的 Office COM 插件 shim 代码在哪里?
【发布时间】:2020-02-03 12:31:44
【问题描述】:

我们仍在使用 2010 年推出的 shim 代码(当我们第一次获得 64 位 Office 时)。是否有 Microsoft 发布的更新版本?

如果有,我在哪里可以找到它?

其他信息: 用 C# 编写的加载项,即使已签名,也不会被视为由 Office 签名。 Office 将 AddIn 视为 .NET 包装 DLL(我认为是 mscoree.dll),并正在查看它是否已签名。

因此,Office 团队中的某个人编写了一个 C++ shim。它的唯一目的是成为在 Office 中注册的插件,并在加载时调用实际的 .NET 插件。作为一个原生 C++ 应用,Office 会查看它的数字签名以查看 AddIn 是否已签名。

【问题讨论】:

    标签: office-interop office-addins excel-addins


    【解决方案1】:

    最后一个可用的 COMAddin Shim 向导是 2010 年,从那以后我找不到任何可用的东西。 2016年this综合Shim文章依然引用2010版本。

    但我猜您的问题实际上是关于如何签署插件,使其在 Office 插件对话框窗口中显示为已签名?

    为此,您需要对 shim.dll 进行签名,然后定位到 shim.dll 位置,而不是注册表 CLSID 键中的默认 mscoree.dll。

    Office 查找 Software\Microsoft\Office\OFFICEAPPNAME\Addins\[Addin.name] 注册表(或等效的 32 位 WOW6432Node 节点)中列出的所有插件,然后从 HKCR\[Addin.Name]\CLSID 获取 CLSID,然后在 HKCR\[CLSID] 中加载从那里找到的 dll。当它这样做时,它将识别您的 shim.dll 及其签名,而不是目标计算机上未签名的 .NET mscoree.dll。

    【讨论】:

      猜你喜欢
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2012-12-08
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多