OOS 2016 on Server 2016

April 11th, 2018

Installing and configuring Office Online Server 2016 on Server 2016 was a bit of a challenge. The installation and configuration is similar to that of past versions, but I ran into some hiccups along the way.

In the past, to install the prereqs for OWA you would run (in PowerShell):

Install-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45 

However, Server 2016 includes the Ink and Handwriting Services in the OS, so I recieved the following error:

Install-WindowsFeature : ArgumentNotValid: The role, role service, or feature name is not valid: ‘InkandHandwritingServices’. The name was not found.

In order to combat this run the following in PowerShell:

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,NET-Framework-Features,NET-Framework-45-Features,NET-Framework-Core,NET-Framework-45-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation

For some reason on some of my servers, even this would error out. If you get any issues, mount the server image (which mounted to E:) and run the following:

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,NET-Framework-Features,NET-Framework-45-Features,NET-Framework-Core,NET-Framework-45-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation -Source "E:\Deploy\Operating Systems\WSI10_GA_gold\sources\sxs"

Then, install Office Online Server, desired language packs and any updates you may want on each server. There may be restarts required.

Import your OOS certificate on each server:

certutil -p '&lt;password&gt;' -importpfx "<path>\<certname>.pfx";

If you’re not using a wildcard cert, make sure your cert SANs include the OOS URL and each server in the OOS farm.

On one server in the OOS farm, create your farm:

$url= "<oosurl>"

$proxy = "<proxyurl>:<port>"

$cert = (Get-ChildItem Cert:\LocalMachine\My | ?{$_.FriendlyName -eq "<certname>"}).FriendlyName

New-OfficeWebAppsFarm `
-InternalUrl $url `
-ExternalUrl $url `
-EditingEnabled `
-CertificateName $cert `
-ExcelWorkbookSizeMax 50 `
-LogLocation L:\Logs\OOSLogs `
-LogRetentionInDays 10 `
-Proxy $proxy `
-CacheLocation &quot;D:\OOSCache\DiskCache&quot; `
-TranslationEnabled `
-MaxMemoryCacheSizeInMB 75 `
-ExcelUseEffectiveUserName `
-ExcelWarnOnDataRefresh:$false `
-OpenFromUrlEnabled `
-AllowHttpSecureStoreConnections `

You can edit the above farm configuration to meet the needs of your environment. For example, we use a proxy, so if you do not remove that parameter.

Once the farm is created, navigate to the other servers set aside to be in the OOS farm, and run the following:

New-OfficeWebAppsMachine -MachineToJoin "<server you created the farm on - fdqn>"

When you’re ready to connect the farm to SharePoint run the following on one farm in the SharePoint farm:

New-SPWOPIBinding -ServerName "<$url used above>"

Leave a Reply

Your email address will not be published. Required fields are marked *