gpt4 book ai didi

vsto - 卸载 MS Office 应用程序级 VSTO 加载项

转载 作者:行者123 更新时间:2023-12-04 06:27:21 29 4
gpt4 key购买 nike

我正在使用 VSTO 4 部署我的第一个 Visual Studio Tools for Office (VSTO) 加载项。

有一些不同的选项可用于安装加载项注册表项。它可以是 HKEY_CURRENT_USER 下的每个用户或每台机器 HKEY_LOCAL_MACHINE。我的许多用户都在 Citrix 或终端服务下运行。我的情况是管理员将在服务器上运行我的安装,因为用户没有正确的权限。此外,我的用户只是这些服务器上用户的一小部分。

出于这些原因,我计划构建一个随插件一起提供的小型实用程序。该实用程序将创建正确的 Per User 注册表项以启用加载项。管理员会将加载项 dll 和我的实用程序安装到 c:\program files*。然后将指示实际需要该加载项的用户运行该实用程序一次并单击“启用”按钮。

我现在遇到的问题是如何卸载加载项。我的卸载程序(由管理员再次运行)可以处理它创建的所有内容,但无法删除 Per User 注册表项。

我希望这会是一个问题,Word 会在下次启动时忽略丢失的加载项。

这不起作用 - Word 在下次运行时报告尝试“安装”自定义的错误。

"Installing Office customization" There was an error during installation. Downloading file file://xxx/xxx.vsto did not succeed.



我根据 Registry Entries for Application-Level Add-Ins msdn article 在注册表项的末尾包含“|vstolocal” .

如果文件不存在,是否有办法阻止 Word 尝试加载加载项?
或者
卸载程序有没有办法在卸载时为运行卸载的用户以外的用户清理 Per User 注册表项?

我在装有 Office 2007 的 Windows 7 机器上进行测试。我正在使用面向 .Net 4 框架的 VSTO 4。

最佳答案

关于你的两个问题

Is there anyway to stop Word from trying to load the add-in if the file does not exist?



不是我知道,但是,我只是尝试移开我的 reg 条目指向我的插件之一的 DLL,但我没有收到任何消息(如果我进入 Word 的选项 COM ADDins 区域,我可以看到插件是未加载,这是正确的)。

Is there a way for an uninstaller to clean up Per User registry entries on uninstall for a user other than the one running the uninstall?



不,我几乎肯定没有办法做到这一点。它需要对每个用户的配置文件文件夹的权限。

但是,您可以在 Office 注册树下创建这些奇怪的键,它们本质上用作 Office 应用程序在加载时执行的“命令”。

因此,在卸载时,您需要将额外的 key 写入 Office reg key ,该 key 实质上表示“在加载 Office 应用程序时从当前的 HKCU 配置单元中删除这些 key ”。

这是我发现的一个示例 Reg 脚本,它显示了奇怪的键,但我无法立即找到任何可以准确记录它们是什么的链接:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\AllUsersTemplates]
"Count"=dword:00000001
"Order"=dword:00000008

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\AllUsersTemplates\Create\Software\Microsoft\Office\12.0\Common\General]
"SharedTemplates"=hex(2):-fill in your own Binary Value-

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\RemoveInstantSearchBar]
"Count"=dword:00000001
"Order"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\RemoveInstantSearchBar\Create\Software\Microsoft\Office\12.0\Outlook\Search]
"DisableDownloadSearchPrompt"=dword:00000001

<<<<< CreateFile >>>>>>>
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\FileCopy1]
"Count"=dword:00000001
"Order"=dword:00000008

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\FileCopy1\CreateFile\FileCopy1.potx]
"TargetFile"="[AppDataFolder]\\Microsoft\\Templates\\FileCopy1.potx"
"SourceFile"="C:\\Documents and Settings\\All Users\\Templates\\FileCopy1.potx"

如果您仔细观察,您会在\Office\键下看到一个“用户设置{名称}\Create\”键,然后键路径的其余部分复制了 HKCU 下从 Software\向下的路径。

您可以使用关键字 CREATE 或 DELETE(删除键)。

请注意 COUNT 和 ORDER 值。这些很重要,需要正确设置。

但同样,我无法找到记录此内容的手头链接。

关于vsto - 卸载 MS Office 应用程序级 VSTO 加载项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890716/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com