1

我们有一个与 MS Office 配合使用并使用 Microsoft.mshtml.dll 的应用程序。我们使用 ClickOnce 来部署应用程序。该应用程序在大多数机器上部署都没有问题,但有时我们会收到错误消息“需要系统更新,Microsoft.mshtl.dll 应该在 GAC 中”。

我们尝试安装 PIA for Office,但没有成功。由于 Microsoft.mshtml.dll 是一个系统相关文件,我们不能将它包含在包中并重新分发它。部署应用程序的最佳方式是什么?

4

4 回答 4

1

您知道您的目标是哪个版本的 MS Office?这些 PIA 非常特定于 Office 版本。我记得当我们构建一个智能客户端应用程序时,我们曾经有 Build VM 机器,每台机器都针对特定版本的 Outlook。

另一个障碍是无法将这些 PIA 指定为先决条件或将它们与应用程序捆绑在一起。这些 PIA 需要使用 Office CD(至少对于 2003 版本)安装在客户端上。

于 2008-09-10T17:40:48.040 回答
0

您可以在 clickonce 应用程序中设置先决条件,这将在允许用户安装之前检查 GAC 中的特定程序集。您仍然需要在 ClickOnce 之外手动安装包含所需 office dll 的应用程序,但至少可以避免引发错误。

于 2008-09-10T17:35:23.497 回答
0

我们的目标是 Office 2003 和 Office 2007,但使用 Office 11 (2003) dll 作为 Office 2007 是向后兼容的。

该问题仅发生在 Microsoft.mshtml.dll 文件中。此文件设置为 ClickOnce 应用程序中的先决条件。

在此特定安装中,我们尝试同时安装 Office 2003 和 Office 2007 PIA,但均无济于事。

于 2008-09-10T18:15:18.707 回答
0

我也有这个问题。

解决方案是转到解决方案资源管理器中的 References 文件夹,然后右键单击 Microsoft.mshtml,然后单击 Properties。

在“属性”页面中,将“复制本地”标记为 True。这应该有效。

于 2010-06-17T16:26:32.890 回答