Visual studio 2010 Windows Installer中加载项的部分功能

Visual studio 2010 Windows Installer中加载项的部分功能,visual-studio-2010,excel,windows-installer,vsto,add-in,Visual Studio 2010,Excel,Windows Installer,Vsto,Add In,我的Excel加载项和Windows安装程序有一些问题。我在一个测试项目上尝试了按照演示(在Pluralsight上显示)中列出的步骤进行操作,效果很好 对于我的自定义加载项,我使用VS2010和加载项目标Excel 2007。我的解决方案中的项目比Addin项目和setup项目多。运行使用安装项目创建的msi文件后,如果ThisAddIn.cs类的ThisAddIn_启动方法中有一个消息框,则它会显示该消息框,但不会显示我在同一项目中创建的功能区选项卡。我试图通过创建VSTO_SUPPRESS

我的Excel加载项和Windows安装程序有一些问题。我在一个测试项目上尝试了按照演示(在Pluralsight上显示)中列出的步骤进行操作,效果很好

对于我的自定义加载项,我使用VS2010和加载项目标Excel 2007。我的解决方案中的项目比Addin项目和setup项目多。运行使用安装项目创建的msi文件后,如果ThisAddIn.cs类的ThisAddIn_启动方法中有一个消息框,则它会显示该消息框,但不会显示我在同一项目中创建的功能区选项卡。我试图通过创建VSTO_SUPPRESSDISPLAYALERTS和VSTO_LOGALERTS变量来查看是否显示任何错误,但没有看到任何日志文件。在我构建项目并创建msi和setup.exe文件之后,我在Visual Studio中清理解决方案,并尝试从外部msi文件进行安装,因为我现在正在开发计算机上测试。也许我应该补充一点,如果我运行setup.exe文件,我甚至不会得到messagebox

我的加载项未被禁用,并在COM加载项对话框中勾选。我已为HKEY_当前用户设置了注册表


为什么我在功能区上看到的是messagebox,而不是我的选项卡?

我相信您使用的是功能区XML,而不是功能区设计器。 如果是功能区XML,请将以下代码添加到ThisAddin.cs中

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
       return new Ribbon1();
    }

我发现加载Ribbon时出现异常,这就是它没有显示的原因。当我清除该问题时,功能区加载正确。但调试没有发现异常,只是默默地出现故障。

没有,我使用功能区设计器创建了自定义功能区。我有普通的Ribbon.cs和Ribbon.Designer.cs类作为加载项项目的一部分。当我尝试使用上面的代码时,我在尝试将Ribbon隐式强制转换为Microsoft.Office.Core.IribboneExtensibility时出错,这是有意义的。在这种情况下,请检查Ribbon选项卡的控件Id属性,它应该是(ControlIdType-Office和OfficeId-TabAddIns)或(ControlIdType-Custom和OfficeId-)“ControlIdType-Office和OfficeId-TabAddIns”。当我没有清理解决方案或在Visual Studio中进行安装时,它可以正常工作。不幸的是,功能区(但不是messagebox)从Windows安装程序甚至ClickOnce安装时,它会丢失。我已将它发送给一位朋友,在他的计算机上进行测试,他也有同样的体验(尽管他使用Office 2010)。很抱歉,我误解了功能区在这两种情况下都不会出现。它是否出现在Word选项=>自定义功能区选项卡中?如果没有,请尝试使用功能区XML(随机猜测,我确实在功能区设计器中遇到了一些随机问题)