如何:更新使用托管代码扩展的已部署 Office 文档 (2003 System)
更新:2007 年 11 月
适用对象 |
---|
本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型
Microsoft Office 版本
有关更多信息,请参见按应用程序和项目类型提供的功能。 |
如果解决方案文档、模板或工作簿已部署到每个最终用户,而解决方案程序集仍位于网络位置中,则无法简单实现文档的自动更新。不过,您可以使用本主题中概括的过程,自动向最终用户发出通知,告知当前 Office 文档已过期,必须获取更新版本的文档。
基本步骤如下:
基于已更新的文档创建一个新的 Microsoft Office Word 2003 或 Microsoft Office Excel 2003 应用程序项目。此项目中的程序集将用于提供告知用户必须获取最新文档的通知。
将当前使用的程序集移至新位置,并将通知程序集放置在原位置。
将更新后的文档指向新的项目程序集位置。
如果不希望完全阻止用户使用过期的解决方案,可以使用现有解决方案的 Startup 事件调用该通知。这将在每次打开该文档时提醒用户进行更新。
基于更新后的文档创建新项目
对现有文档、模板或工作簿进行所需的修订。
在 Visual Studio 中,创建一个与现有解决方案相同类型的新 Word 或 Excel 应用程序项目。
您将使用此项目中的程序集作为一个通知程序集,以替换过期的 Office 文档所指向的项目程序集。
在“Visual Studio Tools for Office 项目向导”中选择“复制现有文档”。
单击“现有文档的路径”框旁边的“浏览”,并定位到更新后的文档。
选择该文档,然后单击“打开”。
单击“完成”,以基于该更新后的文档创建项目。
创建通知程序集
在新程序集(通知程序集)的 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");
使用项目属性更改通知程序集的输出名,使其与解决方案中使用的项目程序集具有相同的名称。确保该通知程序集具有获得已部署解决方案的信任所必需的证据,如正确的证书。
使用通知程序集替换项目程序集
将解决方案使用的项目程序集复制到一个新位置,并在该位置对其授予信任。有关更多信息,请参见 如何:将权限授予文件夹和程序集 (2003 System)。
将更新后的 Office 文档放置在新位置,并将部署和应用程序清单复制到新位置。
编辑新的应用程序清单,以使其指向新的部署清单和程序集。有关更多信息,请参见 Office 解决方案的应用程序清单 (2003 System)。
提高应用程序清单的版本。
编辑新的部署清单,使其指向新的应用程序清单。有关更多信息,请参见 Office 解决方案的部署清单 (2003 System)。
提高新部署清单的版本。
更新嵌入到文档中的应用程序清单,使其指向新的部署清单位置。有关更多信息,请参见 如何:以编程方式更改部署清单的路径 (2003 System)。
现在,该更新后的文档及其指向的程序集已经准备好可供使用,最终用户只要知道从何处获取该更新后的文档即可。
将通知程序集部署到原来的程序集位置,并移除项目程序集。当用户下次打开过时的 Office 文档时,通知程序集将运行,该用户将看到一个消息框,其中包含有关如何获取最新文档版本的信息。
请参见
任务
如何:部署 Office 解决方案 (2003 System)
如何:以编程方式更新应用程序清单程序集路径 (2003 System)