我们使用Office对象模型构建了一个使用Excel作为前端构建的应用程序。我们使用C ++填充程序将其加载为Excel 2003的COM添加,但我已将其更新为使用最新的VSTO for Excel 2007.我也一直在使用VS 2010获取最新版本。问题是在调试器模式下我的开发机器上的一切都很好,并且只是启动Excel 2007,但我不能让它在任何其他机器上运行(我当前的目标机器是Win7,开发是XP)。我已经创建了一个Addin的ClickOnce部署,我可以在COM Addins列表中看到它,但当我检查它加载时没有任何反应。我重新打开了Addins管理器并且未经检查。我也试过在注册表中设置,但是一旦我运行它,它就会将注册表设置为不加载。我已经尝试了我能想到的一切,并在网上搜索但没有骰子。任何帮助将不胜感激!
更新:我能够设置一些VSTO错误通知,我从我的应用程序获得了这个,以及我使用ClickOnce部署的基本Hello World应用程序。我仍然没有找到答案,但我确实知道在加载项之前出现这个错误甚至会触发Startup事件:
Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateStartupObjectException: 无法在程序集PrevisionAddIn,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = null中创建启动对象PrevisionAddIn.PrevisionAddIn的实例。 在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.CreateEntryPoint(String entryPointTypeName) 在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.LoadEntryPoints(IntPtr serviceProvider)
答案 0 :(得分:1)
您是否可以禁用计算机上的防病毒软件,看看是否有任何区别?我有一些通过ClickOnce部署的加载项,其中一个永远不会启用。我的老板会进入并检查Outlook屏幕上的“启用”,然后关闭窗口,然后返回并禁用它。原来是他的反病毒软件过于热心。只是一个想法...
此外,您无法使用ClickOnce for Office2003。此加载项是否仍以2003为目标,还是以2007为目标?
如果您使用的是ClickOnce,您是否使用Verisign等证书颁发机构的有效证书对其进行签名?或者您正在部署到http://localhost并从那里安装它(不需要证书)。
答案 1 :(得分:0)
我发现问题出在我使用的VS 2010版本上。我在Beta 2版本中构建了该项目,并没有时间进行升级。一旦我这样做,它就像宣传的那样工作。但我确实学到了如何让这个东西运转起来的船只!
再次感谢!
-Erick