Excel 2007 VSTO 加载项即使在成功安装后也不可见
Posted
技术标签:
【中文标题】Excel 2007 VSTO 加载项即使在成功安装后也不可见【英文标题】:Excel 2007 VSTO Add-in Not visible even after successful install 【发布时间】:2011-05-27 10:45:03 【问题描述】:我对 excel 2007 插件的行为有点困惑。任何想法都受到高度赞赏。 这是我按时间顺序做的事情。
-
我有一个 excel 2007 VSTO 插件,它构建和调试文件,所以我将它发布到一个文件夹中
我转到文件夹并运行安装插件的安装程序。下次我打开 excel 时,插件是可见的。到目前为止完美!!
然后我转到 Excel Office 按钮 --> Excel 选项 --> 插件 --> 管理 --> COM 插件
并删除我刚刚安装的插件。这使得插件从我的 excel 功能区中消失了。符合预期!!
但此时我的插件已安装,并且仅从活动插件列表中删除。正确的 ?如果正确,我该如何重新添加它,因为我在非活动插件列表中看不到它。我找回它的唯一方法是从添加/删除程序中删除它,然后重新安装并重新启动 excel。
这是唯一的方法,还是我可以以某种方式重新添加插件,因为它已经安装了。
【问题讨论】:
【参考方案1】:据我所知,这是 VSTO 的问题。使用普通的 COM 插件,您可以打开 Com Addin 窗口,单击添加按钮并选择您的插件的 dll。
但是对于 VSTO,这是行不通的,因为 VSTO dll 不是很“正常”的 COM dll。对于 VSTO,您必须将 Excel 指向 .VSTO 文件,但您不能从 Excel 本身执行此操作,只有安装程序才能做到这一点。
【讨论】:
哦!在这种情况下,我将尝试制作一个引导卸载和安装过程的安装程序,如果该组件已经存在,则将其删除然后安装。想知道我是否可以使用 ClickOnce 来做到这一点,或者我必须制作一个部署项目 我从来没有在 Clickonce 项目上取得过很大的成功,所以我无法回答那个问题。似乎每次我尝试使用它时,我都会使用大约 50% 并发现 ClickOnce 不支持的一些“位”,所以我不得不放弃它并使用标准 MSI。【参考方案2】:插件的加载通过注册表项控制
VSTO 插件的不同之处在于它们不直接作为 dll 加载,而是通过某种加载器加载。加载器对于所有 vsto 插件都是相同的,并且知道要通过清单(.vsto 文件)加载哪个程序集
在不重新安装的情况下将加载项重新添加到列表中需要您恢复它的注册表项如果您将加载项的注册表 hyve 导出到 .reg 文件,您可以稍后通过双击重新启用它.reg 文件。 所需的密钥可以在这里找到:http://msdn.microsoft.com/en-us/library/ff937654.aspx)(搜索清单)
【讨论】:
【参考方案3】:我觉得上面的答案太复杂了:
答案:
您可以通过在 Windows 中卸载加载项来重新启用它 之后,双击 vsto 文件重新安装它(注意,如果您有“真实”安装程序,包括引导程序,则必须通过执行“setup.exe”进行安装)回答:我认为这就是你想要做的:
如果您只想在 Excel 中停用加载项,请不要在“COM 加载项”对话框中“删除”。 只需在列表中取消选中您的加载项,它就会被停用。 然后您可以通过再次在列表中选中它来重新激活它。问候,约尔格
【讨论】:
以上是关于Excel 2007 VSTO 加载项即使在成功安装后也不可见的主要内容,如果未能解决你的问题,请参考以下文章
outlook2007,开发的vsto插件,安装到客户机提示:未加载。加载COM加载项时出现运行错误
如何在 Excel VSTO 加载项中为 OnUndo 调用 C# 方法?