如果无法访问网络驱动器,Office 插件将被禁用

Office Addin gettin disabled if network drive is inaccessable

我有一个位于网络驱动器上供所有用户使用的 outlook 插件。

当网络出现故障时,可能是因为电缆被拔出或系统问题,如果此时用户启动 Outlook(当没有网络可用时),outlook 会自动勾选插件停止使用.

只要用户不重新启用它,加载项就不会加载。曾经。您可以关闭 outlook ,重新打开它,如果在 outlook 启动时找不到 .VSTO 文件,它将不会加载插件。

将注册表值设置为从不禁用插件,在这里无效,因为插件并没有真正被禁用,它只是被关闭并等待手动重新激活。

我希望它停止关闭,或者至少在网络可用时自动启用它。这可以在后台没有第 3 方 exe 运行 的情况下完成吗?

从网络驱动器 运行 不是个好主意。为什么不在安装插件时将 dll 复制到本地?

将加载项本地放置到每台计算机并为这些计算机配备简单的脚本 which runs on user logon 并将加载项从其网络位置复制到本地目录。这将使您的插件保持更新并始终可用。

如果网络无法访问,是脚本(对用户不可见)会失败,而不是 Outlook。这很重要:)

当然,除了初始启动脚本外,还可以在用户登录时定期(每天一次?)重新运行它。这只有在Outlook当前没有运行ning时才会生效,否则无法覆盖addin DLL。

为什么不在本地安装然后编写代码来检查网络位置?如果网络可用,将远程 dll 与本地 dll 进行比较。如果它们不同,将新的 dll 复制到本地计算机,然后调整该插件的注册表项。然后向用户显示一条消息以重新启动应用程序。