Windows Servers Failed to Install KB4093118 running Microsoft Windows Server 2008 R2 Standard SP1.

In last round of server patching, I had more than 40 servers running Microsoft Windows Server 2008 R2 Standard SP1 failed to install KB4093118 which is 2018-04 Security Monthly Quality Rollup for Windows Server 2008 R2 for x64-based Systems (KB4093118). I worked with Microsoft support with one server and solved the issue.

PROBLEM: Failed to Install KB4093118 on CGYUT216 running Microsoft Windows Server 2008 R2 Standard SP1

RESOLUTION: PFB the steps that we followed to resolve the issue:-

  • We had error in the logs stating Failed to find file: amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18617_none_5fa38ca6ff4698d3\MsSpellCheckingFacility.exe
  • Found that we had the update KB4012215 with the file
·         Msspellcheckingfacility.exe ·         6.3.9600.18618
  • Tried installing that update, but it failed stating the SXS Assembly was missing
  • Downloaded and ran CheckSUR
  • Tried installing update, it failed again
  • After checking the logs, we found that it was unable to replace the manifests amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18537_none_5fa38ca6ff4698d3.manifest and amd64_microsoft-windows-i..etexplorer-optional_31bf3856ad364e35_11.2.9600.18617_none_7af6e9d9c2e4f8b2.manifest
  • We copied these files from a working machine(C:\windows\WinSXS\Manifests )and pasted them in C:\windows\WinSXS\Manifests
  • After that, we installed KB4012215
  • Rebooted the machine and were able to install KB4093118 successfully

 

Commands used to extract the .msu files ( Expand –F:* C:\temp\filename.msu C:\temp\)

Command used to install the expanded .cab file  ( DISM / ONLINE /ADD-PACKAGE /PACKAGEPATH:C:\temp\filename.cab)

Value add links: https://support.microsoft.com/en-us/help/4011466

https://support.microsoft.com/en-us/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness

 

When I applied this fix to more servers, I found that the CBS log showed that failed to find different version of Msspellcheckingfacility.exe.

So I made below troubleshooting steps to help my team to work on other servers.

Tip: You need open C:\Windows\Logs\CBS\CBS.log. When the file is too big, it’s slow to load and open. Check the file size of this file, if it’s a few hundreds megabytes, it’s too big, consider delete it. It will be recreated when install Windows update.

Step 1: Install KB4093118 manually to generate cbs.log

Create a temp folder and copy all files from \\updatefileserver\MissingUpdates

For example: copy \\updatefileserver\MissingUpdates\*.* C:\temp\

Run windows6.1-kb4093118-x64.msu. If install successfully, problem is solved.

Step 2: Open CBS.log and search “, Error” or “Failed to find file”. Find which version of file MsSpellCheckingFacility.exe failed to be found.

You will find something like “Failed to find file: amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18617_none_5fa38ca6ff4698d3\MsSpellCheckingFacility.exe [HRESULT = 0x80070002 – ERROR_FILE_NOT_FOUND]”

Here is the example of the CBS log content


2018-05-04 12:43:42, Info                 CBS    Failed to find file: amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18638_none_5fa48ed6ff45af51\MsSpellCheckingFacility.exe [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

2018-05-04 12:43:42, Info                 CBS    Failed to gather all required files. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

2018-05-04 12:43:42, Info                 CBS    Failed to gather all missing files for package: Package_for_RollupFix~31bf3856ad364e35~amd64~~7601.24106.1.4 [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

2018-05-04 12:43:42, Info                  CSI    00000012@2018/5/4:18:43:42.606 CSI Transaction @0x1be3aba0 destroyed

2018-05-04 12:43:42, Error                 CBS    Failed to pre- stage package: Package_for_RollupFix~31bf3856ad364e35~amd64~~7601.24106.1.4 [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

2018-05-04 12:43:42, Info                 CBS    Perf: Stage chain complete.

 

Typical version is 18671. Here is the table of version and KB need to be installed.

18617: KB4012215

18638: KB4015552

18537: KB3212646

Step 3 copy manifests files from a good server

amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18537_none_5fa38ca6ff4698d3.manifest and amd64_microsoft-windows-i..etexplorer-optional_31bf3856ad364e35_11.2.9600.18617_none_7af6e9d9c2e4f8b2.manifest

These 2 files need to be copied from a working machine(C:\windows\WinSXS\Manifests ) into C:\windows\WinSXS\Manifests.

Before copy, C:\windows\WinSXS\Manifests folder permission need to be changed, otherwise you will get access denies error because Administrators don’t have modify or write permissions.

I suggest changing the owner to Administrators first, and then assign administrators full control permission. Remember to check ‘Replace owner on subcontainers and objects’ when change owner and check ‘Replace all child object permissions with inheritable permissions from this object’ when assign Full control permission to administrators.

Then we can copy files to C:\windows\WinSXS\Manifests. I have put the good files in \\updatefileserver\MissingUpdates. I suggest using below command line:

copy \\updatefileserver\MissingUpdates\amd64_microsoft-windows-s..-downlevel.binaries_31bf3856ad364e35_6.3.9600.18537_none_5fa38ca6ff4698d3.manifest C:\windows\WinSXS\Manifests /y

copy \\updatefileserver\MissingUpdates\amd64_microsoft-windows-i..etexplorer-optional_31bf3856ad364e35_11.2.9600.18617_none_7af6e9d9c2e4f8b2.manifest C:\windows\WinSXS\Manifests /y

 

Step 4 Install update to fix Failed to find file MsSpellCheckingFacility.exe issue.

 

Typical version is 18671 and KB4012215 is required to fix the issue. I have downloaded KB4012215 in \\updatefileserver\MissingUpdates\.

Use below command to install KB4012215. Create c:\temp if it does not exist.

copy \\cgyut210\MissingUpdates\*.* C:\temp\

cd c:\temp

dism /online /add-package /packagepath:Windows6.1-KB4012215-x64.cab /norestart

Then reboot the server.

If the version is not 18617, but 18638, then KB4015552 is required, 18537 then KB3212646 is required. To install the KB, you need download it, expand it and then use dism command to install it.

For example:

C:\temp>expand “windows6.1-kb3212646-X64.msu” -f:* c:\temp\KB3212646

 

C:\temp>CD C:\temp\KB3212646

dism /online /add-package /packagepath:Windows6.1-KB3212646-x64.cab /norestart

 

Step 5 Install KB4093118

 

Reboot and then install KB4093118.

If still failed, go back to step 2 to find the missing file version and install corresponding KB.

 

2 Comments on “Windows Servers Failed to Install KB4093118 running Microsoft Windows Server 2008 R2 Standard SP1.

  1. How did you know what KB files are missing using the CBS log. As I have the same problem but mine is related with jscript9.

    2018-12-11 09:00:20, Info CBS Failed to find file: x86_microsoft-windows-s..-jscript9.resources_31bf3856ad364e35_11.2.9600.19080_en-us_6825a2a3d49aa39e\jscript9.dll.mui [HRESULT = 0x80070002 – ERROR_FILE_NOT_FOUND]

    I have tried numerous suggestions but still kb4467107 fails with this error in CBS

Leave a Reply

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