Access 2003的托管代码AddIn

时间:2009-06-24 09:23:02

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

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

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

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

对象“COMAddIn”的方法“连接”失败

失败的代码是:

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(完整安装)并重新安装加载项。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

一些指示:

KB 20038002是Office 2003应用程序所必需的,而不是Office 2007所需的 - 我相信有.net框架修补程序/ SP可以安装它 - 安装它不会有多次伤害 - 它会检查以确保是否已经安装。

Office 2003主互操作程序集是必需的 - 如果您有安装程序,则应排除它在其中列出的任何办公室依赖项(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 Addins列在Office / Excel / AddIns下(它在此级别,不在Office / 11.0 /...)下。

相关问题