I'm trying to install Office 2016 (business subscription) using the Office Deployment Tool 2016 (ODT) from a pre-downloaded install package.
Microsoft Support have supplied me with the 1.06GB installation package, which I have downloaded and placed in a directory C:\odt\Office
so that the paths to the data files look like this: C:\odt\Office\Data\16.0.4229.1029\stream.x86.x-none.dat
and C:\odt\Office\Data\16.0.4229.1029\stream.x86.en-us.dat
I have the ODT setup.exe file in C:\odt\Office
and a Configuration.xml file with the appropriate settings, for example:
I've confirmed that O365BusinessRetail
is one of the supported Product IDs for the ODT and that it is the appropriate ID for my subscription. The files Microsoft Support gave me were named Office 365 Business 2016
which appears to correspond.
My problem is, when I run setup.exe as an administrator using a command like this...
...it ignores the existing files and tries to download the bundle again. I'm in a country with poor quality internet connections and the MS downloader is both extremely sensitive to momentary losses in connection and unable to resume downloads that are interrupted: re-downloading the files is not an option.
It gives this error, which indicates that it is trying to download a file. From research it seems the "required file" it vaguely alludes to is the 1.06GB installation bundle, which it is (seemingly needlessly) trying to re-download:
Couldn't install
We're sorry, we can't continue because we weren't able to download a required file. Please make sure you're connected to the internet or connect to a difference network, then try again.
Error Code: 30182-1011 (3)
I've established that it is finding the correct XML file, and that the XML is valid, because if I give a deliberately incorrect config path or deliberately borked XML file it gives a different error code (Error Code: 0-1008 (0)).
The error code I get is also identical to the one I get if I rename the Office
folder or add a non-existant path to SourcePath
(e.g.
)
I get the same result if I add the correct SourcePath (SourcePath="C:\odt\Office"
) as no SourePath, which is the expected result because according to the config XML documentation, with no source path added it looks for "Office" in the directory it's in.
I've also tried adding the version number from the package files to the XML as a fixed version, in case MS support gave me a version that is not the latest and it's rejecting it for that reason. I've also tried switching Branch
to Business
which I see is an allowed value in the reference. Neither helped. For example:
I've also tried using the setup.exe /packager
command, specifying a valid config file and an output folder, in case the package I have needs to be re-packaged somehow, but it has the exact same problem and error.
I figured out how to access log files for ODT. Here are the first few lines of a sample log file. I believe this is the relevant segment, because everything after this (around 350 lines) appears related to trying to get network access and it appears to have already concluded that it needs to run .ExecuteDownloadFile
. I believe "Network cost manager" is whatever checks if there's a metered connection in use; and the cab
file it refers to (v32_16.0.4229.1029.cab
) does exist - C:\odt\Office\Data\v32_16.0.4229.1029.cab
- it's not clear to me from this log if it succeeds or fails to find this file, which appears to be the crucial step:
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
This is with a version specified in the config file, if there isn't one, line 4 instead ends TryGetVersionDescriptor::HandleStateAction: Getting Cab: v32.ca
, which also exists in the same folder. If I specify a version that doesn't exist, everything looks exactly the same as if I specify a version that does exist - which is maybe a clue that it's failing to find the cab
file.
However, if I give it a non-existent SourcePath
, I get an error further down with no equivalent without a false source path:
failed to open file 'C:\\odt\\fakefolder\\Office\\Data\\v32_16.0.4229.1030.cab
I'm completely stumped, and MS support are struggling to help because I've followed all their standard steps.
How can I find out why ODT might be rejecting or not seeing these pre-downloaded installable files? What ODT is actually doing at any time appears to be completely opaque - until it fails, it just gives an unhelpful orange box that says "We're getting things ready".
If it's relevant, I'm attempting to install on a Windows 8.1 machine.
Answer
I FINALLY cracked it with the help of the ODT log files.
Basically, unlike what the docs say, manually setting a SourcePath
is mandatory if you want a local/offline install, and the source path should exclude the top level directory name of the install bundle (so should not end with Office
unless you've got a folder named Office inside another folder named Office).
My problem was caused by two misleading / out-of-date points in Microsoft's Configuration file reference page, coupled with the complete lack of feedback in the installer UI. Specifically:
- MS give this as an example of a typical SourcePath entry:
C:\Preload\Office
- so I had entered my source paths similarly:C:\odt\Office
, including "Office", the name of the top level bundle folder. This was causing the installer to fail to find my downloaded files - it should exclude the folder name of the bundle. My source path should have beenSourcePath="C:\odt"
and Microsoft's example should have beenC:\Preload
(or, they should have a note saying this only works for paths likeC:\Preload\Office\Office\Data\etc...
- MS say the following:
If you don’t specify SourcePath in configure mode, Setup will look in the current folder for the Office source files. If the Office source files aren’t found in the current folder, Setup will look on Office 365 for them.
Maybe that was true for Office 2013, I don't know, but based on my hours of trial and error, the inverse appears to be true for Office 2016.
When I ran the setup.exe with no SourcePath
in the config file, it looked online before checking for a local copy, and began a download instead of using a local copy in the default position in the same directory.
I guess such a change would be consistent with Microsoft's changing attitudes to updates, which were roughly "Use the latest version cautiously, it might break things" in 2012 and are roughly "If in doubt, update update update" today?
My settings which worked looked like this:
I don't believe the version number is essential (and I'm not re-installing to find out!); if anyone with similar problems discovers they do need theirs, I took mine from the folder name under Office\Data
.
If anyone knows how I can report the issues with the documentation to Microsoft, please drop me a comment.
No comments:
Post a Comment