阻止打开文档时出现VSTO Office自定义安装程序提示

时间:2018-04-12 07:20:21

标签: vsto clickonce

我为自定义模板开发了VSTO 4.0文档自定义,它可以正常工作并使用ClickOnce安装。

但是,我的要求之一是生成的文档,即生成的.docx文件,与组织外部的用户共享,我不希望VSTO提示他们安装自定义。< / p>

外部用户应该能够在没有任何VSTO提示的情况下打开文档,并将其视为通常的Word文档,当文档由外部用户保存并发回时,我可以打开文档和VSTO自定义将按预期工作。

这是一个可用性场景,其中文档需要由我的组织和外部组织进行协作,但我不能指望外部组织安装VSTO自定义。他们通常只会插入文字,图片和添加评论评论。

有什么方法可以实现这种情况吗?

BTW,在此阶段使用Web Addin for Office 365不是一个可行的选择,因为使用Word Javascript API无法实现某些自定义要求。

1 个答案:

答案 0 :(得分:1)

您需要先从VSTO文档中删除该链接,然后再将其提供给外部人员。当文档返回时,您可以将自定义链接回来。

关于该主题的整个MSDN article以及blog article

简而言之,有两种方法可以完成:从打开的文档中或封闭的文档中。

  1. 运行Document.RemoveCustomization方法,例如,可以将其分配给功能区自定义中的按钮。这会将存储在自定义文档属性中的链接移除到VSTO代码(这是文档本身在打开时查找代码的方式)以及任何缓存数据。

  2. 使用ServerDocument.RemoveCustomization方法,基本上做同样的事情。

    ServerDocument.RemoveCustomization(documentPath);

  3. 重新附加只能通过ServerDocument.AddCustomization进行,逻辑上足够。

      string deployManifestPath = System.Environment.GetFolderPath(
                        Environment.SpecialFolder.Desktop) 
                        + @"\Publish\WordDocument1.vsto";
      Uri deploymentManifestUri = new Uri(deployManifestPath);
      ServerDocument.AddCustomization(documentPath, deploymentManifestUri);