为什么打开Excel时会出现另一个Excel Addin(Ribbon)安装?

我做了一个Excel添加(function区)。

当我运行.vsto并安装它,我有一个安装在Windows下的程序。

但是,当我打开我的Excel程序时,程序列表中会出现另一个安装程序。

为什么是这样,它不应该是这样的权利?

更新:我注意到在Application我已经设置Target framework: ".NET Framework 4 Client Profile"并在Publish - Prerequisites它添加了Microsoft .NET Framework 4客户端configuration文件(x86和x64),有什么关系呢?

当您在开发计算机上安装VSTO时,可能会发生这种情况。 这是因为在debuggingVSTO时,它将被安装,尽pipe它不会显示在程序和function列表中。 即使停止debugging,VSTO也将保持安装状态。 即使在执行正确的安装时,已debugging的VSTO的残余仍将保留在registry中。

我发现解决此问题的最佳方法(虽然不是最理想的)是执行正确的安装之前手动删除此位置的registry项:

HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\[YOUR VSTO PROJECT NAME]

因为可能在configuration中你已经设置了应用程序自动更新。
所以在Excel启动后,它尝试自动更新。

可能吗?

在开发机器上的Excel应用程序中find两个相同加载项的实例是很常见的。 由于在发布或进行安装项目构build之前,您必须在IDE内构build该附加代码。 每当Excel启动它自动检测您的计算机上存在的加载项清单。 由于您还安装了加载项,因此您的计算机现在有两个位置,它们在您的项目文件夹中find您的加载项,另一个位于您已经安装加载项的位置。 所以,Excel将自行添加两个加载项,因为它发现了两个加载项,就像这样简单。

这与您的发布前提条件和Target框架无关。

你可以简单地进入FILE-> Options-> Add-Ins->在这里的窗口中,你会发现一个标签上写着“Manage”的下拉菜单 ,selectCOM Add-ins并点击“ GO ”。

现在在打开的窗口中,您可以find在这里列出的两个插件,您可以删除您不希望在Excel应用程序中看到的插件。

但是,无论如何,下一次你build立你的Excel加载项并启动Excel时,它会再次将该加载项自动添加到你的Excel应用程序。

所以最好不要安装你在你的机器上的插件,直到你想testing安装程序或类似的东西。