Office 部署工具无法识别已下载的安装文件并尝试重新下载

Office 部署工具无法识别已下载的安装文件并尝试重新下载

我正在尝试使用预先下载的安装包中的 Office 部署工具 2016 (ODT) 安装 Office 2016(商业订阅)。

Microsoft 支持部门为我提供了 1.06GB 的安装包,我已下载并放置在一个目录中C:\odt\Office,以便数据文件的路径如下所示C:\odt\Office\Data\16.0.4229.1029\stream.x86.x-none.datC:\odt\Office\Data\16.0.4229.1029\stream.x86.en-us.dat

我有 ODT setup.exe 文件C:\odt\Office和具有适当设置的 Configuration.xml 文件,例如:

<Configuration>

  <Add OfficeClientEdition="32" Branch="Current">
    <Product ID="O365BusinessRetail">
      <Language ID="en-us" />
    </Product>
  </Add>

</Configuration>

我已经确认了O365BusinessRetail是 ODT 支持的产品 ID 之一并且它是我订阅的适当 ID。Microsoft 支持人员给我的文件的名称Office 365 Business 2016似乎与之相对应。


我的问题是,当我使用如下命令以管理员身份运行 setup.exe 时......

在此处输入图片描述

...它忽略现有文件并尝试再次下载该包。我所在的国家/地区的网络连接质量较差,MS 下载程序对于瞬间的连接丢失极其敏感,并且无法恢复中断的下载:无法重新下载文件。

它给出了此错误,表明它正在尝试下载文件。根据研究,它隐约提到的“必需文件”似乎是 1.06GB 的安装包,它正在(似乎不必要地)尝试重新下载:

无法安装

抱歉,我们无法继续,因为我们无法下载所需文件。请确保您已连接到互联网或连接到其他网络,然后重试。

错误代码:30182-1011 (3)

我已经确定它找到了正确的 XML 文件,并且该 XML 是有效的,因为如果我故意给出不正确的配置路径或故意破坏的 XML 文件,它会给出不同的错误代码(错误代码:0-1008 (0))。

我得到的错误代码也与我重命名文件Office夹或添加不存在的路径SourcePath(例如<Add OfficeClientEdition="32" Branch="Current" SourcePath="C:\fail" >)时得到的错误代码相同

如果我添加正确的 SourcePath ( SourcePath="C:\odt\Office"),我会得到相同的结果,因为没有 SourePath,这是预期的结果,因为根据配置 XML 文档,没有添加源路径,它会在所在的目录中查找“Office”。

我还尝试将包文件中的版本号作为固定版本添加到 XML 中,以防 MS 支持人员给我的版本不是最新版本,并因此拒绝它。我还尝试切换BranchBusiness我看到的引用中允许的值。两者都没有帮助。例如:

<Add OfficeClientEdition="32" Branch="Business" Version="16.0.4229.1029" SourcePath="C:\odt\Office">

我也尝试使用该setup.exe /packager命令,指定一个有效的配置文件和一个输出文件夹,以防我拥有的包需要以某种方式重新打包,但它有完全相同的问题和错误。


我知道如何访问 ODT 的日志文件。以下是示例日志文件的前几行。我相信这是相关的段,因为此后的所有内容(大约 350 行)似乎都与尝试获取网络访问权限有关,并且它似乎已经得出结论,需要运行.ExecuteDownloadFile。我相信“网络成本管理器”是检查是否有正在使用的计量连接;cab它引用的文件(v32_16.0.4229.1029.cab)确实存在 - C:\odt\Office\Data\v32_16.0.4229.1029.cab-从这个日志中我无法确定它是否成功找到这个文件,这似乎是关键的一步:

Timestamp   Process TID Area    Category    EventID Level   Message Correlation
11/20/2015 13:25:15.407 SETUP (0xbdc)   0xad8       Click-To-Run    aoh85   Medium  AdminConfigure::HandleStateAction: Configuring an install/crosssell scenario.   
11/20/2015 13:25:15.422 SETUP (0xbdc)   0xad8       Click-To-Run    aqdco   Monitorable TryCheckNetworkCost::HandleStateAction: Failed to initialize NetworkCostManager for http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60. Assuming low cost and proceeding.   
11/20/2015 13:25:15.422 SETUP (0xbdc)   0xad8       Click-To-Run    aon8k   Medium  CabManager::DetermineCabName: Type:0, Platform:x86, Version:16.0.4229.1029, Culture: -> v32_16.0.4229.1029.cab  
11/20/2015 13:25:15.422 SETUP (0xbdc)   0xad8       Click-To-Run    aoh9i   Medium  TryGetVersionDescriptor::HandleStateAction: Getting Cab: v32_16.0.4229.1029.cab 
11/20/2015 13:25:15.422 SETUP (0xbdc)   0xad8       Scope   a6pk5   Medium  {"ScopeAction": "Start", "ScopeName": "ClickToRun.TransportRetry.ExecuteDownloadFile", "ScopeInstance": 3, "ScopeParentInstance": 0}    F6A9F7B0-FE40-4FD4-A41A-CC60C5768E09
11/20/2015 13:25:15.438 SETUP (0xbdc)   0xad8       Identity Http Client    axieo   Medium  [CWinHttpHelperBase] AutomaticProxyConfiguration {"Message": "InitSession detected proxy auto detect."} F6A9F7B0-FE40-4FD4-A41A-CC60C5768E09
11/20/2015 13:25:15.469 SETUP (0xbdc)   0xad8       Identity Http Client    a9ido   Medium  [HttpUtil] IsKnownProxyError {"SH_ErrorCode": 12007, "Message": "Detected a proxy failure"} F6A9F7B0-FE40-4FD4-A41A-CC60C5768E09

这是在配置文件中指定的版本,如果没有,则第 4 行结束TryGetVersionDescriptor::HandleStateAction: Getting Cab: v32.ca,它也存在于同一文件夹中。如果我指定不存在的版本,则所有内容看起来与我指定确实存在的版本完全相同 - 这可能是无法找到该cab文件的线索。

但是,如果我给它一个不存在的SourcePath,我就会得到一个错误,没有等效的,也没有错误的源路径:

failed to open file 'C:\\odt\\fakefolder\\Office\\Data\\v32_16.0.4229.1030.cab

我完全被难住了,而且 MS 支持人员正在尽力提供帮助,因为我已经遵循了他们的所有标准步骤。

我如何才能找出为什么 ODT 可能会拒绝或看不到这些预先下载的可安装文件?ODT 在任何时候实际执行的操作似乎完全不透明 - 直到它失败,它只会显示一个无用的橙色框,上面写着“我们正在准备”。


如果相关的话,我正在尝试在 Windows 8.1 机器上安装。

答案1

我终于在ODT 日志文件

基本上,与文档所说的不同,手动设置SourcePath强制的如果你想要本地/离线安装,源路径应该排除安装包的顶级目录名称(因此应该不是以结束,Office除非您在名为 Office 的文件夹中有另一个名为 Office 的文件夹)。


我的问题是由两个误导性/过时的观点引起的Microsoft 的配置文件参考页面,再加上安装程序 UI 中完全缺乏反馈。具体来说:

  • MS 给出了一个典型的 SourcePath 条目示例:C:\Preload\Office- 所以我以类似的方式输入了我的源路径:C:\odt\Office,包括“Office”,即顶级包文件夹的名称。这导致安装程序无法找到我下载的文件 - 它应该排除包的文件夹名称。我的源路径应该是SourcePath="C:\odt",微软的示例应该是C:\Preload(或者,他们应该有一个注释,说明这仅适用于以下路径C:\Preload\Office\Office\Data\etc...
  • MS 的说法如下:

如果您未在配置模式下指定 SourcePath,则安装程序将在当前文件夹中查找 Office 源文件。如果在当前文件夹中找不到 Office 源文件,则安装程序将在 Office 365 中查找它们。

也许这对于 Office 2013 来说是正确的,我不知道,但根据我几个小时的反复试验,对于 Office 2016 来说,情况似乎正好相反。

当我运行配置文件中没有的 setup.exe 时SourcePath,它​​会在检查本地副本之前先在线查找,然后开始下载,而不是使用同一目录中默认位置的本地副本。

<speculation>我猜这种变化与微软对更新的态度变化是一致的,2012 年大致是“谨慎使用最新版本,它可能会破坏某些东西”,而今天大致是“如有疑问,请更新更新更新”?</speculation>


我的工作设置如下:

<Configuration>

  <Add OfficeClientEdition="32" Branch="Current" Version="16.0.4229.1029" SourcePath="C:\odt">
    <Product ID="O365BusinessRetail">
      <Language ID="en-us" />
    </Product>
  </Add>

  <Logging Level="Standard" Path="C:\odt\log" />

</Configuration>

我不认为版本号是必需的(而且我不会重新安装来查找!);如果遇到类似问题的人发现他们确实需要他们的版本号,我会从 下的文件夹名称中获取我的版本号Office\Data


如果有人知道如何向 Microsoft 报告文档问题,请给我留言。

答案2

如果您将该文件夹与配置 XML 文件一起放入,则运行setup.exeC:\ODT

setup.exe /download configuration.xml

它将创建一个“Office”文件夹C:\ODT,所有源文件都将位于其中。然后您只需运行:

setup.exe /configure configuration.xml

并且它应该可以正常工作。您无需在 XML 文件中指定源。

问题在于,您将setup.execonfiguration.xml文件放在了 Office 文件夹中太深的位置。它们需要放在 ODT 文件夹中,这样就不需要配置源了。如果 Microsoft 尚未向您提供这些文件,那么当您运行上述下载开关时,这一点就会非常明显。

答案3

我刚刚遇到这个问题。查看日志文件,我正在寻找 c:\odt\Office\Data\v32.cab。当我去查看时,文件不存在,而是 v32_16.0.6965.2058.cab。我将其重命名为 v32.cab,然后重新运行安装。安装过程没有任何问题。

答案4

我进行了离线安装,事实上,直到今天,您仍然需要删除 configuration.xml 文件对“Office”文件夹的引用,否则您会收到上述错误。

相关内容