0

I have seven Server 2019 systems that I maintain that do not have a connection to the internet or an MECM or WSUS. So far, I have been patching them with a WSUS Offline tool that I found that pulls down updates and zips it up. You run an executable of the tool and it checks your system to see what you need and installs. It works good for monthly Windows patches. It does not work good for dotNet Framework or Windows Defender.

The next thing I did to try to get dotNet patched was I went to Download .NET Framework | Free official downloads and downloaded the "NDP48-x86-x64-AllOS-ENU.exe". I get that over to the server. First, I uninstall the current version:

# Uninstall: NDP481-x86-x64-AllOS-ENU.exe /passive /uninstall 

The uninstall completes successfully.

Then I try to install the patched version. I first try:

# Install: NDP481-x86-x64-AllOS-ENU.exe /passive /promptrestart 

That didn't work, so I removed the switches and tried this:

NDP481-x86-x64-AllOS-ENU.exe /log .\dotnet.log 

Here are screenshots of how the installation goes: Installation begins

Installation progress

Installation progresses more

Installation Fails

I go to the log file (which happens to be an html file). The log file says it cannot find object or property of a specific CAB file. But you can see in this next screenshot that the CAB file is there: dot Net Log File

I next go to that CBS.log file that the dot net log file mentions (the CBS log file is over 101K lines). In that CBS.log file, it sees that CAB file and extracts files from it: Extract from CAB

It then goes through many of lines like these, the only difference being this highlighted part. But it is the specified KB number from the original error. Log entries I know that screenshot is cut off. Here is the full line:

Plan: Package: Package_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Update: 4486153-1679_neutral_PACKAGE, current: Installed, pending: Default, start: Installed, applicable: Installed, targeted: Superseded, limit: Installed, selected: Default 

After each line that starts with "Plan:", it has a bunch of "Appl:" lines: Log file entries

This goes on for about 20 iterations. But then it gets to this one and it cannot find the parent package: Parent Package Missing

2024-12-05 07:27:56, Info CBS Plan: Package: Package_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Update: 4486153-1685_neutral_PACKAGE, current: Installed, pending: Default, start: Installed, applicable: Installed, targeted: Superseded, limit: Installed, selected: Default 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-Client-Features-WOW64-Package0017~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-ServerCore-SKU-Foundation-WOW64-onecore-Package~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: parent found: Microsoft-Windows-ServerCore-SKU-Foundation-WOW64-onecore-Package~31bf3856ad364e35~amd64~~10.0.17763.1, state: Installed 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CloudEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CloudNEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreCountrySpecificEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 2024-12-05 07:27:56, Info CBS Appl: detectParent: no parent found, go absent 2024-12-05 07:27:56, Info CBS Appl: detect Parent, Package: Package_6_for_KB4486153~31bf3856ad364e35~amd64~~10.0.1.2919, Parent: Microsoft-Windows-CoreNEdition~31bf3856ad364e35~amd64~~10.0.16299.15, Disposition = Detect, VersionComp: EQ, BuildComp: GE, RevisionComp: GE, Exist: present 

After that, I get more stuck. I don't know where it is looking for those files, so I am unable to verify it or dig deeper into that specific file issue.

I've rebooted the system multiple times.

Edit: I believe I am using the correct version of dot Net Framework to patch. I do not have a desire or intent to change the version except to patch security vulnerabilities/CVEs.

I used this to check the version:

> Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Sort-Object -Property Version | Select PSChildName, version PSChildName Version ----------- ------- v2.0.50727 2.0.50727.4927 v3.0 3.0.30729.4926 Windows Communication Foundation 3.0.4506.4926 Windows Presentation Foundation 3.0.6920.4902 v3.5 3.5.30729.4926 Client 4.0.0.0 Client 4.8.03761 Full 4.8.03761 > (Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release 528049 > (C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe -version)[4] 4.8.3761.0 

That looks to me like I should be trying to use the 4.8 version to patch. But if I'm mistaken, please enlighten me.

If anyone can offer any suggestions or help, that would be greatly appreciated.

5
  • What's wrong with using the.NET version that is included with the operating system? Installing a different version doesn't address the deficiencies with deploying monthly updates. Commented Dec 5, 2024 at 18:19
  • I thought I was trying to use the version that is included with the OS. I'll post what I used to check the versions, but I need a couple comments to fit it. Commented Dec 5, 2024 at 19:26
  • I'll edit the original post actually. Commented Dec 5, 2024 at 19:27
  • 1
    You have.NET 4.8 installed. You need to download and install the December 2024 cumulative update KB5046265. learn.microsoft.com/en-us/dotnet/framework/release-notes/2024/… support.microsoft.com/en-us/topic/… Commented Dec 5, 2024 at 19:53
  • That worked! I feel pretty silly. How can I mark your comment as the solution? Commented Dec 5, 2024 at 21:25

1 Answer 1

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.