【发布时间】:2011-05-04 22:45:22
【问题描述】:
我正在使用 VSTO 4 部署我的第一个 Visual Studio Tools for Office (VSTO) 插件。
有一些不同的选项可用于安装加载项注册表项。它可以是 HKEY_CURRENT_USER 下的每个用户或每个机器 HKEY_LOCAL_MACHINE。我的一些用户在 Citrix 或终端服务下运行。我的情况是管理员将在服务器上运行我的安装,因为用户没有正确的权限。另外,我的用户只是这些服务器上的一小部分用户。
出于这些原因,我计划构建一个随插件一起提供的小型实用程序。该实用程序将创建正确的每用户注册表项以启用加载项。管理员会将加载项 dll 和我的实用程序安装到 c:\program files*。然后将指示实际需要该插件的用户运行该实用程序一次并单击“启用”按钮。
我现在遇到的问题是如何卸载加载项。我的卸载程序(由管理员再次运行)可以处理它创建的所有内容,但无法删除 Per User 注册表项。
我希望这会是一个问题,并且 Word 会在下次启动时忽略丢失的加载项。
这不起作用 - Word 在下次运行时尝试“安装”自定义项时报告错误。
“安装 Office 自定义” 期间出现错误 安装。下载文件 file://xxx/xxx.vsto 没有成功。
我在每个 Registry Entries for Application-Level Add-Ins msdn article 的注册表项末尾包含“|vstolocal”。
如果文件不存在,是否可以阻止 Word 尝试加载加载项?
或
卸载程序是否有办法在卸载时为运行卸载的用户以外的用户清理 Per User 注册表项?
我正在使用 Office 2007 的 Windows 7 机器上进行测试。我正在使用面向 .Net 4 框架的 VSTO 4。
【问题讨论】:
标签: vsto ms-office uninstallation