Aug 212018
Microsoft .NET Framework

You may notice on Windows Server 2012 R2, when applying Windows Updates that one or more .NET updates may fail with error code 0x80092004. This issue may affect all, or only some of your Windows Server 2012 R2 servers.

When troubleshooting this, you may notice numerous specific errors such as “Couldn’t find the hash of component: NetFx4-PenIMC”, or errors with a CAB file. These errors will probably come from update KB4054566 and KB4340558.


The Fix

To resolve this, we are going to download the updates MSU files from the Microsoft Update Catalog, and fully uninstall, then re-install the problematic updates.

Please Note: Always make sure you have a full backup before making modifications to your servers.

Please follow the instructions below:

  1. Create a folder called “updatefix” on the root of your C drive on the server
  2. Navigate to the Windows Update catalog at:
  3. Search for KB4054566 and download the file for “Windows Server 2012 R2”, save it to the folder you created above called “updatefix” on the root of your C Drive. There should be one file in the download.
  4. Search for KB4340558 and download the files for “Windows Server 2012 R2”, save it to the folder you created above called “updatefix” on the root of your C Drive. There should be a total of 3 files in this download.
  5. Create a folder in the “updatefix” folder called “expanded”.
  6. Open an elevated command prompt, and run the following commands to extract the updates CAB files:
    expand -f:* "C:\updatefix\windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4054566-x64_e780e6efac612bd0fcaf9cccfe15d6d05c9cc419.msu" C:\updatefix\expanded\
  7. Now let’s uninstall the problematic updates. Some of these commands may fail depending on which updates you have successfully installed. Run the following commands individually to remove the updates:
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
  8. Now let’s cleanly install the updates. All of these commands should be successful when running. Run the following commands individually to install the updates:
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
  9. You have now fixed the issue and all updates should now be cleanly installing via Windows Updates!

Leave a comment and let me know if this worked for you!

  112 Responses to “Windows Server 2012 R2 .NET Windows Updates fail with error 0x80092004”

  1. There is a GOD after all… 🙂

  2. Sam I am,

    I can’t tell you how much time I wasted on this issue (days and days).

    If I saved you some time and helped with the fix, I’m super happy!


  3. Stephen,

    I can’t thank you enough. Finally the proper solution after 2 months of browsing and trying… 🙂

  4. It work’s very well! THX

  5. Yess! Worked like a charm, thank you so much!

  6. Thank you * Thank you * Thank you! 🙂
    You fixed somethng that Microsoft was not able to!
    BTW: I “only” had the problem with KB4054566 and therefore tried your steps with only with this affected one – But no – it did not work.
    Afterwards I have tried it also with the (non-problematic!?) others -and all asked reboots- as you have described and it worked!

  7. Thank you so much, i stumbled on to the commands some time ago but i didn’t realize there was an order to get them installed that never occurred. Cheers Stephen and thanks for your help

  8. I salute you!

  9. Yes !!!! It works fine
    You are great

  10. Thanks…great job…crazy things happen when dealing with this types of things.

    Really appreciate the research.

  11. Thx for this great solution. Searched the net for this and fortunately i came on your solution.
    Regards from Holland.

  12. Worked like a charm! Thank you, Sir!

  13. Hallo Mr. Wagner

    Excuse my english –

    Finally it worked! I followed your instruction above, but the system did not accept the order: dism /online /add-package /packagepath:C:\updatefix\expanded\

    Then, very disappointet, I restartet my pc and then finally my system acceptet the update KB4054566. This incredible update disturbed me since July!

    Thank very very much for your help, I send you greetings from Switzerland


  14. Thank you very much, your solution works well. 🙂

  15. this worked like a charm you should be putting out the microsoft bulletins!

  16. +1 to add many thanks. I too have searched for this for a while, yours is the only solution that worked.

    go raibh maith agat

  17. Stephen,

    I can’t thank you enough. I’ve been fighting with this for a few weeks and stumbled across your answer this morning and it worked perfectly. Thanks again!!!

  18. Thank. I have two 2012 R2 servers only one which was affected.

  19. Hi Stephen, that was really very helpful and I created a little batch instead of typing all – perfect. You solved my permanent problems with this f… update patch from Microsoft and now I got my free time back – THANK YOU. Over 2 months I tried to solve that problem and nobody could help me – but YOU.

    Many greetings from Germany – PETER

  20. Thanks for writing this up. I’ve been fighting this for 2 months. It worked like a champ!! Again Many Thanks!!

  21. I want to add my thanks as well. Spent time on and off in the past two months, following “official” suggestions, and the “pseudo science” offered by Microsoft’s paid staff – as well as various misinformation on Microsoft support boards.

    Your manual uninstall and reverse-order reinstall did the trick for 6 Win 2012 servers. All uninstalls were successful and the first reinstall step required a reboot – that was it.

    Kudos to your expertise and thank you for sharing!

  22. Yes! Good work indeed to sort this out. I took the recommended action & just did all of them as prescribed (versus just trying to remove & add KB4054566).
    I was a little confused on the “reboot” comment above. I was not asked to reboot during the removal of any of them. When I went & added them back, each update completion it asked to reboot, I said “n” (no) & just rebooted @ the end (production server, can’t afford that many reboots).
    All seems well now, very good work & really surprised how hard it was to finally find a resolution.

  23. Thank you. Your solution stopped me from beating my head on the desk.

  24. Fantastic! This worked perfectly.

    You are to be complimented for your willingness to share this information, and providing it in such a clear cookbook manner.

    Thank you is not enough, but it is the best I can do.

    One question, have you considered hiring out to Microsoft as an instructor to show their support staff how to help customers?

  25. Hi Tom,

    I’m glad I can help! And a thank you is more than enough!

    And no, I havent ever considered that! But I do offer remote consulting! Just for the record!


  26. Hi…. I have the KB …….66 fail on a normal Win8.1 version (not server). Has anybody the same experience? And does your fix instruction work well for my windows? Thank you, Markus

  27. Hi Markus,

    When you search the Microsoft Catalog for the updates, you’ll need to use the ones specific for Windows 8. You may have to download different update files if you need to select a different entry.

    The instructions should remain the same, however you’ll need to update the uninstall and install commands to reflect the commands for Windows 8.


  28. Hi Stephen,
    Thank you so much! Like so many others, after 2 months of trying to resolve this issue, your solution was the only one which worked – first time!

  29. Greetings Stephen,

    Thank you much for assisting the many IT administrators across the globe in resolving this issue. I performed the steps as listed on my two 2K12 R2 domain controllers and they worked well. I particularly appreciated the in-window command-line scripts. Of note, I waited until the last install of the four re-install scripts before rebooting.

    Alan M

  30. Hi Stephan…
    Great! It worked also on normal Win8.1. The only thing I had to change was to download the the correct updates. Unbelievable that Microsoft does nothing to fix this. Thank you very much! 🙂

  31. Thanks a lot! Works great on all my servers 😀

  32. Made a script to automate this if you have a lot of servers with the problem.
    First download the files and place them in a zip file on an UNC share.
    Then create a new PS script, place the following code in it, replace the $source var and run it.
    A reboot is sometimes needed after the /remove-package

    $Source = "\\unc_share\"
    $Destination = "C:\updatefix"
    $zip = "C:\updatefix\"
    $expand = "C:\updatefix\expanded"
    md $Destination -force
    md $expand -force
    Import-Module BitsTransfer
    Start-BitsTransfer -Source $Source -Destination $Destination -Description "Update transfer" -DisplayName "Update transfer"
    Expand-Archive $zip -DestinationPath $Destination
    expand -f:* "C:\updatefix\windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\windows8.1-kb4054566-x64_e780e6efac612bd0fcaf9cccfe15d6d05c9cc419.msu" C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\
    dism /online /add-package /packagepath:C:\updatefix\expanded\

  33. Unfortunately no… Already 3 months I have problem only with KB4054566 (Microsoft .NET Framework 4.7.2 for Windows Server 2012 R2) and still not found solution

  34. Hi CoyoteKG,

    If you follow the directions in the post, it should resolve the issues and allow you to install future updates, as well as major version changes.


  35. Whow !!!

    Thank you from Germany.
    It works!

    Best Regards

  36. Was also working for me.

    Thanks and Best Regards

  37. Thanks from Toronto!

  38. Hi Steven,

    great workaround, it fixed the issue on a windows 2012 R2 Essentials DC as well.

    Many thanks for sharing from Germany.



  39. God indeed, thank you very much

  40. Hi Steven,
    Also many thanks from Switzerland!

  41. Thank you! Your procedure cleared up the problem on all of our Windows Server 2012 R2 machines quickly and easily. It’s a pity Microsoft can’t do that!

  42. Works! So great! Thank you!

  43. Awesome! Thanks for posting this.
    Followed 3 different other guides (including Microsoft posted one) and didn’t resolved this issue.

    Greetings from Germany.

  44. Hi Stephen,

    what a big big help!! It´s awesome!!!! I did try a lot with microsoft`s “help” but they never didn´t fix the problem. I did try it a lot of time to solve the problem with my windows 8.1. Finally I saw your homepage at Microsoft “Help” and I tried what you do advise above and I made it. My Windows 8.1-updates works now
    finally normal like it should normally do. I also use linux on another pc but my linux-pc works much better than microsoft´s updates with it´s updates.

    Thank you a lot. You are a god of IT.

    Greetings from Peru and Germany

  45. Hi Jules,

    I’m glad I was able to help! Thank you very much for the compliment!


  46. Thank you Stephen! I’ve been searching for this fix for quite a while. Your solution worked like a charm on the handful of 2012 R2 servers I had with this issue..

    Nicely done!

  47. Dude… Thank you very much!!! Your write-up here is very much appreciated… Go Flames!?!?!? Go Stars!!!

  48. Super work! Dankeschön und dir das Beste!

  49. Thanks alot!

    Worked like a charm.

  50. nice and neat! good job.worked 100%
    It is a real fix.

  51. At last a solution for this #!+*%&$§ Error!
    It works with two 2012R2 and one 8.1 VMs in HyperV 2012R2.

    Thanks a lot!

  52. This worked GREAT! Many Thanks!

  53. And it did not help me in windows server 2012R2. When executing step 6. I get the error “cannot find the key -f”

  54. Hi Dmitry,

    Are you using the commands exactly as shown?

    Please copy/paste to make sure you are, and please make sure you don’t skip any commands either.


  55. Worked like a charm! many thanks!!!!!!

  56. Why Microsoft can’t do this..
    Thx so much

  57. Although the process was tedious, your instructions were clear & thus with copy-and-paste were successfully completed. And, best of all, the update error was resolved. Greatly appreciated.

  58. Installing KB4054566 (Windows Update) —> Error 80092004.
    The procedure has worked. Very good, thanks.

  59. I really can’t believe that the solution was so simple! Microsoft has been battling with this issue for months and all their posted solutions simply don’t work.

    You, SIR, are a life saver for all the IT admins out there!

    Greetings from Portugal.

  60. awesome – thanks

  61. followed instructions step by step, running each command individually.

    Only the 2nd /add-package required a reboot.(YMMV)

    after completing the last step, re-ran Windows Update, and No updates are available.

    YEAH!! Thank you very much!

  62. Hallo Stephen, funktioniert perfekt!! Vielen, vielen Dank, Bernd

  63. I only spent the best part of the day researching this problem, but without your help it would have been forever. Thank You!

  64. Worked flawlessly. Thanks!

  65. Same issue on Windows 8.1.
    It worked perfectly for 8.1
    Thanks a lot.

  66. Grateful for you hard effort. Bill M$.

  67. Thanks Stephen! Saved me a big headache.

  68. Work perfectly!!! Issue solved. Thanks Stephen

  69. Thank you!

  70. Thank you

  71. Thank you Stephen. Greetings from Biel/Bienne, Switzerland

  72. worked for me.

  73. Thank you Stephen, you are a generous man to share this – worked great! I have to admit I am confused why MS won’t offer your method as the proper method to fix the problem… Instead each month they continue the update machine of using customers as beta testers! Brilliant!

  74. I’m glad it helped!

  75. You are a champion! Thanks mate

  76. Great article very easy to follow and execute.

    Thanks for sharing!

  77. Excellent work! I was working on a similar situation (possibly the same) last year (.NET Framework update fails to install) – wasted about two days on it and gave up. The issue just popped up on another workstation so thought I would take another to look to see if anyone had cracked it and behold!

    Truly excellent work. Thank you very much for sharing!

  78. Yessssssssssssssss finally it is working…. Thank you so much Stephen

  79. Thank you so much for sharing this information, this update has been stuck stuck on 1 server for weeks, and was forcing it to update every date without any success. It solved my problem. I don’t know how you found the solution, but profound respect!

    Just for information to some other non-professional administrators like me, I had to stop the Windows Update service before performing the 3rd step. Then everything ran smooth…

    Thank you so much Stephen!

  80. Finally… thank you very much.

  81. Your instructions worked flawlessly! Thank you very much!

  82. Stephen,
    Thank you very much, I have been looking for a solution off and on for a couple months.
    If your ever in Minneapolis, and would like a beer, stop by Broken Clock Brewery, and you can have a pint on me! Thank You again. Tom W.

  83. Thanks Tom! Cheers

  84. FINALLY! Thank you.

  85. It’s a shame that microsoft is not willing to fix their own problems, especially when it comes down to such simple, and straightforward solutions!

    I tried various other ways, this is the one that worked! Thx a million!

  86. Thanks for your time and effort on this.

  87. Hi Stephen!
    Because of the failed MS-July2018-Update also on our WS 2012 R2 we were caught between the devil and the deep blue sea as we had to install a new application-version that requires 4.7.2. This scheme also failed and we were quite stumped. We thank you so much for your convincing solution – it was running absolute smoothly and we are full of praise for you!
    Kindest regards from Thuringia/Germany

  88. Master, thank you saving my spare time with your flawless solution!

  89. Worked like a dream, can’t thank you enough.

  90. This creepy ghost had haunted my system for -months-, to the point that I just kinda gave up on it and just left it hangin’ there.

    Truly annoying, extremely frustrating and rediculously time-consuming.

    Your fix did all the magic, Stephen.


    ..and thanks, man.

    …no, wait – let me repeat that: THANKS, man!

  91. Perfekter Workaround !!!! Armutszeugnis für Microsoft.

  92. absolutely awesomely worked!!! Thank you so much

  93. Amazing… tried all other suggestions and followed Microsoft instructions and nothing worked. Your fix did it for me… finally!! why is Microsoft not able to do it this simple? thanks so much.

  94. Thanks, I appreciate your efforts, worked like a charm!

  95. This is great! Been looking for the answer to this for a couple of months. Worked great on the 3 servers that had the issue.

  96. THANKS!!!! Finally something that worked! God Bless you for sharing!

  97. Thanks a lot!!!
    Was fighting with my server 2012 R2.
    This was very helpfull!!
    And easy to follow.
    A very good step by step explanation.

    Kind Regards,

    Maurice from the Netherlands.

  98. Thank you for this guide it fixed the problem for me too.

  99. 99 x ❤️

  100. This did the trick thanks bro.

  101. Thank you. Works perfectly.

    From Canada.

  102. You Sir… Are my hero!

    Thanks for this fix. It’s been doing my head in for ages and I’d already tried so many other ‘fixes’ which never worked.

    You should be Knighted!

  103. Haha, I have been plagued with this error on x6 Win2012 r2 servers until today.
    Your instructions are clear and concise leading to a clean resolution to my problems.

    Happy Christmas

  104. Du geile SAU !!!

    Es läuft. Du hast mir eine Menge Arbeit erspart 🙂
    Weiter so !!!

  105. Works perfect!


  106. Thanks a ton!!! Worked like a charm.

  107. Perfect, finally fixed an outstanding server issue…great year end cleanup…thank you thank you…

  108. Works. Thanks!

    And thanks to those on the MS forums that linked to your solution.

  109. The commands were slightly different for me, given that the filenames have changed since this article was written, but corrected the issue. Thanks for posting this – worked really well.

    For anyone struggling with the commands, I used the following:-

    expand -f:* "C:\updatefix\AMD64_X86_ARM-all-windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\AMD64_X86_ARM-all-windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\AMD64_X86-all-windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu" C:\updatefix\expanded\
    expand -f:* "C:\updatefix\AMD64_X86_ARM-all-windows8.1-kb4054566-x64_e780e6efac612bd0fcaf9cccfe15d6d05c9cc419.msu" C:\updatefix\expanded\

    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\
    dism /online /remove-package /packagepath:C:\updatefix\expanded\

    dism /online /add-package /packagepath:C:\updatefix\expanded\ /NoRestart
    dism /online /add-package /packagepath:C:\updatefix\expanded\ /NoRestart
    dism /online /add-package /packagepath:C:\updatefix\expanded\ /NoRestart
    dism /online /add-package /packagepath:C:\updatefix\expanded\ /NoRestart

    You’ll need to manually restart Windows after all the updates are reinstalled, since I’ve used /Norestart in my dism commands to prevent restarting or asking to restart between each update being reinstalled.

  110. It worked. I restarted the server only at the end. No problems. Thanks.

  111. Yes, it worked for me too.Thank you so much. I had to rescan for updates after applying the changes and rebooting but that’s only a minor detail.

  112. This was awesome, it fixed my problem perfectly. Thanks Stephen

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>