2010-06-09 62 views
1

我们有一个使用Office对象模型以Excel作为前端构建的应用程序。我们使用C++ shim将其作为Excel 2003的COM添加进行加载,但我已更新它以使用最新的VSTO for Excel 2007.我也一直在使用VS 2010作为最新版本。问题是我的开发机器在调试器模式下一切正常,以及启动Excel 2007,但我无法让它在任何其他机器上运行(我目前的目标机器是Win7,开发是XP)。我创建了一个Addin的ClickOnce部署,我可以在COM Addins列表中看到它,但是当我检查它时加载它没有任何反应。我重新打开Addins管理器并取消选中。我也尝试在注册表中设置,但只要我运行它,它将注册表设置为不加载。我试过了我能想到的所有东西,并在网上搜索,但没有骰子。任何帮助,将不胜感激!VS 2010 VSTO加入EXCEL 2007不会加载

更新:我能够设置一些VSTO错误通知,我从我的应用程序以及用ClickOnce部署的基本Hello World应用程序中获得了此通知。我还没有找到一个答案,但我知道,这个错误了外接之前甚至可以触发启动事件:

Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateStartupObjectException: 无法创建程序集PrevisionAddIn中的启动对象PrevisionAddIn.PrevisionAddIn的一个实例,版本= 6.0.0.0,Culture = neutral,PublicKeyToken = null。 在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.CreateEntryPoint(字符串entryPointTypeName) 在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop .IExecuteCustomization2.LoadEntryPoints(IntPtr serviceProvider)

回答

0

我发现问题出在我使用的VS 2010版本上。我在Beta 2版本中构建了该项目,并没有时间升级。一旦我做到了,它就像广告一样工作。但我确实学会了如何让这个东西起来并运行!

再次感谢!

-Erick

+0

的更新我也与ClickOnce产品团队讨论过这个问题。他说这些消息框不起作用,因为它不是ClickOnce问题 - Office产品甚至没有加载应用程序。确保您安装PIA和VSTO运行时作为先决条件。 – RobinDotNet 2010-06-15 22:28:01

1

您可以禁用计算机上的防病毒软件并查看是否有任何区别?我有一些通过ClickOnce部署的加载项,其中一个将永远不会启用。我的老板会进入并检查Outlook中的屏幕上的“启用”,然后关闭窗口,然后重新启动,它将被禁用。原来他的反病毒软件过于热情。只是一个想法...

此外,您不能使用ClickOnce Office2003。这个加载项仍然是以2003年为目标,还是以2007年为目标?

如果您使用ClickOnce,您是否使用Verisign等证书颁发机构颁发的有效证书对其进行签名?或者你正在部署到http://localhost并从那里安装(不需要证书)。

+0

已检查防病毒选项,并没有做任何事情。 这仅限于2007年。2003版本使用COM shim,我们有一个启动程序确保它已注册。 我们有证书,所以我知道这不是问题。此外,当你有一个无效的证书(或没有),它告诉你,当它试图安装。这可以看到插件,只是不会启用/加载它。 – Erick 2010-06-09 19:35:31

+0

您可以在加载项的启动和关闭中放入一个消息框,并查看它是否尝试启动并关闭它?我发现如果它在启动时崩溃,它将禁用加载项。你有没有伐木?你确实在Visual Studio中运行它,它工作正常吗? – RobinDotNet 2010-06-10 03:44:10

+0

我添加了一些消息框,甚至没有打它们。我设置了VSTO错误通知,我确实收到了一个错误,我将在下一个评论中发布,因为我没有足够的空间放在这里。我还创建了一个“Hello World”应用程序,并使用ClickOnce发布它,并得到了相同的错误。我感谢你看着这个,因为我似乎无法在网上找到任何其他帮助。 – Erick 2010-06-11 17:47:58

相关问题