Lync Server 2013: Update ‘Windows Fabric Patch’ could not be installed. Error code 1603

In August 2014, an update to Windows Fabric was included in the Lync Server 2013 Cumulative Update. There’s a list for the Windows Fabric updates:

Lync/SfB: Windows Fabric version List

During an update in our Lab, we got the following error message:

Also, an error was logged in Event Viewer:

Log Name:      Application
Source:        MsiInstaller
Date:          06/07/2015 13:49:18
Event ID:      1023
Task Category: None
Level:         Error
Keywords:      Classic
User:          GEARSAdministrator
Computer:      festd.gears.lab
Description:
Product: Windows Fabric – Update ‘Windows Fabric Patch’ could not be installed. Error code 1603. Additional information is available in the log file C:UpdatesWindowsFabricPatch.msp-FESTD-[2015-07-06][13-44-18]_log.txt.

So, for more information we need to check the log. In the log we find the line:

MSI (s) (BC:8C) [13:49:18:709]: Product: Windows Fabric – Update ‘Windows Fabric Patch’ could not be installed. Error code 1603. Additional information is available in the log file C:UpdatesWindowsFabricPatch.msp-FESTD-[2015-07-06][13-44-18]_log.txt.

In the same log, we see that the update failed to start the Performance Logs & Alerts (PLA) service:

CAQuietExec:  Start-Service : Service ‘Performance Logs & Alerts (pla)’ cannot be started due to the following error: Cannot start

Looking in the Services, the Performance Logs & Alerts (PLA) service was disabled, and as a result Windows Fabric updater couldn’t start it:

Right click on the service and select Properties:

Then change the Startup type to Manual:

Now we need to launch again the Cumulative Update Installer. The only update missing in the list is Windows Fabric:

Click Install Updates and, after it finishes, restart the server. After restart, all services should start normally.

Lync/SfB: Windows Fabric version List

In a previous post related to checking the Lync/Skype4B Server component version, we forgot to mention about Windows Fabric:

Lync Server Component Version using PowerShell (Windows Registry)

Skype for Business Server 2015 Component Version using PowerShell

When we published the Component Version PowerShell cmdlet for Lync Server 2010, we only included the Lync Server related components, because at that time Lync Server didn’t use Windows Fabric. Soon afterwards, Lync Server 2013 started to be dependent on Windows Fabric and this dependency is also present in Skype for Business Server 2015.

Another important fact is that Windows Fabric is not an Enterprise pool exclusive, since the Standalone pool will also use it.

In addition, we will update the PowerShell cmdlets in the above-mentioned articles so that they also include Windows Fabric. If we just want to check Windows Fabric, we need to run the following PowerShell cmdlet:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |  ?{$_.DisplayName -like “Windows Fabric”} | Sort-Object DisplayName | Select DisplayName, DisplayVersion, InstallDate | Format-List

As reference, here is a table of Windows Fabric versions and the Lync Server 2013 Cumulative Update in which they were included:

Windows Fabric Lync Server 2013
1.0.1008.0 5.0.8308.738 (August 2014)
1.0.960.0 5.0.8308.0 (RTM)

And also for Skype for Business Server 2015:

Windows Fabric Skype for Business Server 2015
3.0.8549.9492 6.0.9319.0 (RTM)