如何:更新使用托管代码扩展的已部署 Office 文档 (2003 System)

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • Microsoft Office 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

如果解决方案文档、模板或工作簿已部署到每个最终用户,而解决方案程序集仍位于网络位置中,则无法简单实现文档的自动更新。不过,您可以使用本主题中概括的过程,自动向最终用户发出通知,告知当前 Office 文档已过期,必须获取更新版本的文档。

基本步骤如下:

  1. 基于已更新的文档创建一个新的 Microsoft Office Word 2003 或 Microsoft Office Excel 2003 应用程序项目。此项目中的程序集将用于提供告知用户必须获取最新文档的通知。

  2. 将当前使用的程序集移至新位置,并将通知程序集放置在原位置。

  3. 将更新后的文档指向新的项目程序集位置。

如果不希望完全阻止用户使用过期的解决方案,可以使用现有解决方案的 Startup 事件调用该通知。这将在每次打开该文档时提醒用户进行更新。

基于更新后的文档创建新项目

  1. 对现有文档、模板或工作簿进行所需的修订。

  2. 在 Visual Studio 中,创建一个与现有解决方案相同类型的新 Word 或 Excel 应用程序项目。

    您将使用此项目中的程序集作为一个通知程序集,以替换过期的 Office 文档所指向的项目程序集。

  3. 在“Visual Studio Tools for Office 项目向导”中选择“复制现有文档”。

  4. 单击“现有文档的路径”框旁边的“浏览”,并定位到更新后的文档。

  5. 选择该文档,然后单击“打开”。

  6. 单击“完成”,以基于该更新后的文档创建项目。

创建通知程序集

  1. 在新程序集(通知程序集)的 Startup 方法中,编写代码以显示一个消息框,其中包含用户获取更新后的文档所需的信息。下面的代码提供了一个示例。

    System.Windows.Forms.MessageBox.Show("This document has been updated. " _
        & "Please download a new version from the following location: " _
        & "\\ServerName\FolderName")
    
    System.Windows.Forms.MessageBox.Show("This document has been updated. "
        + "Please download a new version from the following location: "
        + @"\\ServerName\FolderName");
    
  2. 使用项目属性更改通知程序集的输出名,使其与解决方案中使用的项目程序集具有相同的名称。确保该通知程序集具有获得已部署解决方案的信任所必需的证据,如正确的证书。

使用通知程序集替换项目程序集

  1. 将解决方案使用的项目程序集复制到一个新位置,并在该位置对其授予信任。有关更多信息,请参见 如何:将权限授予文件夹和程序集 (2003 System)

  2. 将更新后的 Office 文档放置在新位置,并将部署和应用程序清单复制到新位置。

  3. 编辑新的应用程序清单,以使其指向新的部署清单和程序集。有关更多信息,请参见 Office 解决方案的应用程序清单 (2003 System)

  4. 提高应用程序清单的版本。

  5. 编辑新的部署清单,使其指向新的应用程序清单。有关更多信息,请参见 Office 解决方案的部署清单 (2003 System)

  6. 提高新部署清单的版本。

  7. 更新嵌入到文档中的应用程序清单,使其指向新的部署清单位置。有关更多信息,请参见 如何:以编程方式更改部署清单的路径 (2003 System)

    现在,该更新后的文档及其指向的程序集已经准备好可供使用,最终用户只要知道从何处获取该更新后的文档即可。

  8. 将通知程序集部署到原来的程序集位置,并移除项目程序集。当用户下次打开过时的 Office 文档时,通知程序集将运行,该用户将看到一个消息框,其中包含有关如何获取最新文档版本的信息。

请参见

任务

如何:更新已部署的程序集文件 (2003 System)

如何:部署 Office 解决方案 (2003 System)

如何:以编程方式更新应用程序清单程序集路径 (2003 System)

概念

部署模型 (2003 System)

安全部署 (2003 System)

部署 Office 解决方案 (2003 System)