【问题标题】:Managed Code AddIn for Access 2003Access 2003 的托管代码插件
【发布时间】:2009-06-24 09:23:01
【问题描述】:

我使用 Visual Basic 2008(VS Professional)为 Access 2003 创建了一个托管代码插件,它在我的开发机器上运行良好。它是使用共享插件模板创建的。

我使用设置项目安装...并安装了.Net Framework。

但是,当我尝试部署到另一台 PC 时,我收到以下错误:

对象“COMAddIn”的方法“Connect”失败

失败的代码是:

With COMAddIns("MyAddin1.Connect")
    ' Make sure the COM add-in is loaded.
    .Connect = True  'The code crashes here

    .Object.TestAddIn
End With

用于创建的文章是 here(尽管这是为 Access 2007 编写的)

加载项确实存在于集合中,但未连接。它也不会出现在通过 MS Access 2003 GUI 安装的 COM ADD-INS 列表中。

我已尝试重新安装 Office 2003(完整安装)并重新安装加载项。

【问题讨论】:

    标签: .net vb.net ms-access vba add-in


    【解决方案1】:

    几点建议:

    Office 2003 应用程序需要 KB908002,而不是 Office 2007 - 我相信有 .net 框架修补程序/SP 会安装它 - 多次安装它没有害处 - 它会检查以确保是否已安装已安装。

    需要 Office 2003 主互操作程序集 - 如果您有安装程序,则应排除其中列出的任何 office 依赖项(office.dll、Microsoft.Vbe.Interop.dll 等)并确保已安装 PIA

    您可以通过将 PIA 添加到目录中来将其放入构建中 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\Office2007PIA 以及 product.xml,以便它出现在安装项目的先决条件部分中。 (从 MS 下载这些)。

    安装程序应该生成一些注册表项,因此需要在客户端上安装,检查 HKLM/SOFTWARE/Microsoft/Office/Access/AddIns 是否列出了您的插件(我假设它会在那里,Excel插件列在 Office/Excel/AddIns 下(在这个级别,不在 Office/11.0/...下)

    【讨论】:

    • 不确定您是否已经完成这项工作,另一种可能性是您的程序集在 OnConnection 或 OnStartupComplete 的函数中引发异常 - 值得确保您捕获任何异常并记录它们。
    • 在客户端安装 KB908002 修复程序已解决该问题。感谢您的帮助。
    【解决方案2】:

    共享插件存在很多部署问题。一项重要的工作是部署 KB908002 修复程序。另一个是“Office 200x Redistributable Primary Interop Assemblies”。

    【讨论】:

    • 感谢您的回答。除非我弄错了,KB908002 是用于 Visual Studio 2005 而不是 VS 2008,所以不确定这是否仍然适用并且无论如何都无法在 VS 2008 上安装它。
    • 我目前正在阅读msdn.microsoft.com/en-us/library/zdc263t0.aspx 的文章以尝试使其正常工作。
    • 不,2008 年也需要 KB908002。问题是您必须手动添加它作为 2008 年的先决条件,但需要它。去过那里,做到了... sigh
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 2013-08-24
    • 2013-10-28
    • 1970-01-01
    • 2012-07-03
    • 2010-12-10
    • 1970-01-01
    • 2012-03-04
    相关资源
    最近更新 更多