Office 解决方案的脱机模型 (2003 System)

更新:2007 年 11 月

适用对象

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

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Microsoft Office 2003

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

为了使 Microsoft Office 2003 的 Visual Studio Tools for Office 解决方案能够在计算机未连接到网络的情况下工作,有以下三种主要方法可供选择:

  • 将程序集部署到每个用户。

  • 使用 Internet Explorer 缓存。

  • 使用 IntelliMirror。

在决定如何部署要脱机使用的解决方案之前,应评估每种方法的优点和注意事项。

8akkd7ch.alert_note(zh-cn,VS.90).gif说明:

2007 Microsoft Office system 的解决方案使用 ClickOnce 缓存进行脱机工作。有关更多信息,请参见部署 Office 解决方案 (2007 System)

将程序集部署到每个用户

通过将解决方案程序集部署到每个用户并将其安装在用户的本地计算机上,可以确保用户在脱机情况下能够访问该程序集。用户可以访问该程序集,而不必在脱机之前同步或运行相应的解决方案,但是还应该考虑以下事项:

  • 如果已有新版本的解决方案,则必须更新每台计算机。

  • 必须将文档(如果适用)和所有程序集分发到每台计算机,并使用环境变量确保应用程序清单中包含的程序集路径对于每个用户的计算机配置而言都正确。有关更多信息,请参见 如何:部署文档以供脱机使用 (2003 System)

使用 Internet Explorer 缓存

默认情况下,Visual Studio Tools for Office 解决方案依赖 Internet Explorer 缓存来提供脱机体验。因此,脱机操作需根据 Internet Explorer 的“Internet 临时文件”选项中的设置进行。其中包括临时文件删除和缓存大小配额设置。

即使在程序集不可用时,仍然可以在 Office 文档中进行工作,并在日后将所做的更改保存回服务器。如果您的解决方案在脱机使用时要求程序集可用,可以考虑以下事项:

  • 程序集必须位于 Web 服务器上(HTTP 或 HTTPS 位置),而且用户必须至少访问过一次该服务器上的该程序集以将其存储于缓存中。如果不符合以上情况,程序集的加载将失败,托管代码不会运行。

  • 项目中必须包含一个配置文件。当用户的系统处于脱机模式时,仅当程序集包含配置文件时,公共语言运行时 (CLR) 才会从 Internet Explorer 缓存中加载程序集。有关向您的项目中添加配置文件的信息,请参见 如何:为 Office 解决方案设置配置信息。配置文件不必包含特定于解决方案的信息;如果您不需要其他功能,可以向您的项目中添加默认配置文件。

  • 将项目名称用作程序集名称。为了能够脱机访问程序集,程序集的名称必须符合 HTTP 协议,其字符可以作为 URL 的一部分。

  • 用户的系统必须显式置于脱机模式。如果未找到网络连接,Office 应用程序就会提示用户进入脱机状态,或者,用户也可以使用 Internet Explorer 的“文件”菜单上的“脱机工作”命令切换到脱机模式。计算机只有一种状态,即脱机或联机;如果用户将 Office 解决方案切换到脱机模式,则 Internet Explorer 和 Outlook Express 也将进入脱机工作状态。

  • 应使用发布向导来部署解决方案,尤其是在解决方案使用部署清单时。发布向导为您生成一个外部应用程序清单;该清单包含相对于部署清单位置的程序集路径,这使得脱机方案的可移植性更强。如果手动更改外部应用程序清单,您还可以使用绝对路径(如果您知道它的话)。外部应用程序清单在 installFrom 元素的 codebase 属性中指定程序集路径,该元素是 dependency 元素的子元素。有关 installFrom 元素的更多信息,请参见 <installFrom> 元素(Visual Studio Tools for Office 参考)

  • 应用程序清单中程序集路径中的服务器名称必须全部为小写。否则,程序集加载将失败。有关应用程序清单中的程序集路径的更多信息,请参见 Office 解决方案的应用程序清单 (2003 System)

  • 每次加载应用程序级外接程序或者打开 Microsoft Office Excel 2003 工作簿或 Microsoft Office Word 2003 文档时都会检查部署清单。如果可以访问程序集的当前版本,则会下载该版本。

  • 依赖程序集必须与其主程序集位于同一目录中。

  • 必须显式加载所有引用程序集,否则脱机时应用程序可能不能使用这些程序集。程序集要在使用的时候才会加载到 Internet Explorer 缓存中。如果脱机时解决方案不调用引用程序集,则引用程序集在脱机时不可用。若要确保在解决方案联机打开时将所有程序集加载到缓存中,请在 Startup 事件处理程序中对解决方案中的每个引用程序集调用 Load

  • 您的代码必须考虑到脱机状态,例如,应确保当尝试在脱机情况下连接到数据库或 Web 服务时,解决方案会正常中止运行。可考虑使用数据缓存来保持对文档级自定义项中的数据的访问。有关更多信息,请参见 缓存数据

  • 脱机支持可能不适用于所有解决方案,因此您可能需要在不具备网络连接的情况下阻止解决方案运行。

在打开包含托管代码扩展的文档时,如果系统处于联机模式而程序集不可用,则 Word 和 Excel 将询问用户是否要脱机工作,然后再次尝试加载相应的程序集。这是必要的,因为要使 Word 或 Excel 开始从缓存中加载程序集,需要显示设置脱机模式。

要对程序集进行缓存,应用程序清单必须使用 HTTP 或 HTTPS 路径,而且必须将程序集存储于可访问的 Web 位置。有关更多信息,请参见 如何:部署文档以供脱机使用 (2003 System)

有关更多信息,请参见 Supporting Offline Browsing in Applications and Components(在应用程序和组件中支持脱机浏览)。

使用 IntelliMirror

IntelliMirror 提供了缓存文件的机制,这些文件可使用 UNC 路径(例如 \\appserver\officeapps\expenses)共享。客户端缓存机制是在 Windows 2000 中引入的,现在还可以在 Windows XP 中使用。有两种方法可用于设置共享的缓存:

  • 如果您有运行 Windows Server 2003 的服务器,则可以在共享上设置缓存,以使每个客户端在连接时自动与服务器同步。确保正确设置共享的“脱机设置”。

  • 如果您有早期版本的 Windows 服务器或非 Windows 服务器,则必须在客户端计算机上设置缓存选项。在资源管理器窗口中右击共享,再单击快捷菜单上的“允许脱机使用”。将出现“脱机文件向导”,您可以通过它设置共享以自动同步文件。

如果要使用 IntelliMirror 对最新的程序集进行脱机访问,则应考虑以下因素:

  • 每个用户在首次尝试脱机使用解决方案之前,必须进行同步。

有关 IntelliMirror 的更多信息,请参见 Windows 文档。

请参见

任务

如何:部署文档以供脱机使用 (2003 System)

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

如何:准备最终用户计算机以运行 Office 解决方案 (2003 System)

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

概念

部署文档级自定义项 (2003 System)

安全部署 (2003 System)

部署 Office 解决方案 (2003 System)

其他资源

Office 解决方案的疑难解答