gpt4 book ai didi

c# - Outlook 加载项 ClickOnce 更新设置

转载 作者:太空狗 更新时间:2023-10-29 23:10:22 26 4
gpt4 key购买 nike

我正在尝试使用 ClickOnce 部署 Outlook 加载项。在设置更新选项时,我注意到与 Win Forms 项目相比,可用于 Outlook 添加项目的选项更少。例如,我无法指定所需的最低版本。这是为什么?另外,我想:

  1. 启用手动更新
  2. 询问用户是否需要更新(如果不需要)。

1) 我尝试使用 System.Deployment.Application 和 CheckForDetailedUpdate () 功能,但即使更新成功,安装它也会出现问题:如果我重新启动我的插件,它会从 Outlook 中消失,如果我不这样做,旧版本会卡在 Outlook 中(并且行为异常),尽管通过 UNC 路径的进一步更新表明更新已成功完成。

2) 没有添加特殊选项的常规发布与 Mage 或 MageUI 本身一起工作,但加载项似乎在不询问用户的情况下更新。谷歌搜索显示人们正试图做相反的事情,所以我有点困惑为什么默认情况下不提示更新。

我尝试使用 MageUI 编辑从 Visual Studio 生成的 list ,但它为应用程序 list 生成无效的 XML(?! - 它在“dependentAssembly”节点中缺少“assemblyIdentity”节点),当我从 VS 生成的原始 list 中添加缺少的节点时(然后更新并签名),安装会提示程序集散列无效。

如何根据上述要求部署 Outlook 加载项?

最佳答案

VSTO 应用程序(Office 加载项)仅支持某些位的 ClickOnce。您可以尝试添加代码并进行编程更新,但 Microsoft 的 ClickOnce 负责人表示它并不是真正打算使用的,并且其中的某些部分可能无法正常工作。 (不,没有关于具体哪些部分的详细信息——你必须做一些试验和错误)。

另请注意,vsto 部署的工作和运行方式是这样的:Outlook checkout vsto 应用程序,并将 dll(s) 复制到影子位置并使用 Outlook 加载它。当您更新 vsto 应用程序时,它会在单击一次缓存中更新它,但不会在 outlook 中更新。当您关闭 outlook 并重新打开它时,它会找到新版本,将其复制到影子位置并加载它。您不能重新启动 vsto 位本身并让它做任何事情。用户必须重新启动 Outlook。

这是在启动 Office 应用程序时执行更新的原因之一。它会查找新版本,必要时进行更新,然后将其加载到 Outlook 中并使用它。

话虽如此,另一种实现您想要的方法是编写一个 Windows 窗体应用程序来更新您的加载项。基本上部署一个 winforms 应用程序,除了通过 clickonce 调用 vsto 应用程序之外,第一次什么都不显示(process.start 是你的 friend )。然后你可以让outlook加载项调用winforms应用程序,看看是否有更新,如果有,它可能会提示更新win窗体应用程序,然后卸载并重新安装office加载项或更新它.

关于c# - Outlook 加载项 ClickOnce 更新设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106618/

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