33    set apply35Patch to (VARIABLES[cat("kb|" , OS_VERSION_NUMBER, "|" , PRODUCT_VERSION)] != void && PRODUCT_VERSION = "3.5"  && OS_VERSION_NUMBER != "ltsc2019" ) ^
44    set applyPatch to VARIABLES[cat("kb|" , OS_VERSION_NUMBER, "|" , PRODUCT_VERSION)] != void &&
55        !(
6+             PRODUCT_VERSION = "4.8.1"  ||
67            (OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "4.7.2" ) ||
78            (
89                (
1718FROM  mcr.microsoft.com/windows/servercore:{{OS_VERSION_NUMBER}}-amd64
1819
1920ENV  {{
20- if OS_VERSION_NUMBER != "ltsc2019"  || PRODUCT_VERSION = "4.8" 
21+ if OS_VERSION_NUMBER != "ltsc2019"  || PRODUCT_VERSION = "4.8"  || PRODUCT_VERSION =  "4.8.1" 
2122:`
2223    #  Enable detection of running in a container
2324    }}{{ if OS_VERSION_NUMBER != "ltsc2019" 
2425:DOTNET_RUNNING_IN_CONTAINER=true `
25-     }}{{ if PRODUCT_VERSION = "4.8" :COMPLUS_RUNNING_IN_CONTAINER=1 `
26+     }}{{ if PRODUCT_VERSION = "4.8"  || PRODUCT_VERSION =  "4.8.1" :COMPLUS_RUNNING_IN_CONTAINER=1 `
2627    }}COMPLUS_NGenProtectedProcess_FeatureEnabled=0
2728
2829RUN  `
3536    && del microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab `
3637    && powershell Remove-Item -Force -Recurse ${Env:TEMP}\*  `
3738    `
38- ^elif OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "4.8" 
39- :    # Install .NET Fx 4.8 
39+ ^elif ( OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "4.8"  ) || PRODUCT_VERSION =  "4.8.1 "
40+ :    # Install .NET Fx {{PRODUCT_VERSION}} 
4041    curl -fSLo dotnet-framework-installer.exe {{VARIABLES[cat(PRODUCT_VERSION, "|url" )]}} `
4142    && .\d otnet-framework-installer.exe /q `
4243    && del .\d otnet-framework-installer.exe `
@@ -53,11 +54,11 @@ RUN `
5354    `
5455}}{{if applyPatch
5556:    # Apply latest patch
56-     {{if PRODUCT_VERSION = "3.5"  || (OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "4.8" ):&& }}curl -fSLo patch.msu {{VARIABLES[cat("lcu|" , OS_VERSION_NUMBER, "|" , when(PRODUCT_VERSION = "3.5" , "default" , PRODUCT_VERSION))]}} `
57+     {{if PRODUCT_VERSION = "3.5"  || (OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "4.8" ) || (OS_VERSION_NUMBER =  "ltsc2022"  && PRODUCT_VERSION =  "4.8.1" ) :&& }}curl -fSLo patch.msu {{VARIABLES[cat("lcu|" , OS_VERSION_NUMBER, "|" , when(PRODUCT_VERSION = "3.5" , "default" , PRODUCT_VERSION))]}} `
5758    && mkdir patch `
5859    && expand patch.msu patch -F:* `
5960    && del /F /Q patch.msu `
60-     && dism /Online /Quiet /Add-Package /PackagePath:C:\p atch\w indows10.0-{{VARIABLES[cat("kb|" , OS_VERSION_NUMBER, "|" , when(PRODUCT_VERSION = "3.5" , "default" , PRODUCT_VERSION))]}}-x64{{if OS_VERSION_NUMBER != "ltsc2019"  || PRODUCT_VERSION = "4.8" :-ndp48}}.cab `
61+     && dism /Online /Quiet /Add-Package /PackagePath:C:\p atch\w indows10.0-{{VARIABLES[cat("kb|" , OS_VERSION_NUMBER, "|" , when(PRODUCT_VERSION = "3.5" , "default" , PRODUCT_VERSION))]}}-x64{{if OS_VERSION_NUMBER != "ltsc2019"  || PRODUCT_VERSION = "4.8" :-ndp48}}{{if PRODUCT_VERSION =  "4.8.1" :1}} .cab `
6162    && rmdir /S /Q patch `
6263    `
6364}}{{if OS_VERSION_NUMBER = "ltsc2019"  && PRODUCT_VERSION = "3.5" 
7071:    # ngen .NET Fx
7172    {{if PRODUCT_VERSION != "4.7.2" :&& }}%windir%\M icrosoft.NET\F ramework64\v 4.0.30319\n gen uninstall "Microsoft.Tpm.Commands, Version=10.0.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=amd64"  `^    else
7273:    # Ngen top of assembly graph to optimize a set of frequently used assemblies
73-     {{if PRODUCT_VERSION = "3.5"  || (PRODUCT_VERSION = "4.8"  && !is48SecurityRelease):&& }}%windir%\M icrosoft.NET\F ramework64\v 4.0.30319\n gen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  `
74+     {{if PRODUCT_VERSION = "3.5"  || (( PRODUCT_VERSION = "4.8"  && !is48SecurityRelease) || PRODUCT_VERSION =  "4.8.1" ):&& }}%windir%\M icrosoft.NET\F ramework64\v 4.0.30319\n gen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  `
7475    #  To optimize 32-bit assemblies, uncomment the next line
7576    #  && %windir%\Microsoft.NET\Framework\v4.0.30319\ngen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" `}}
7677    && %windir%\M icrosoft.NET\F ramework64\v 4.0.30319\n gen update `
0 commit comments