我使用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(完整安装)并重新安装加载项。
答案 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 /...)下。