| 
1 | 1 | {{  | 
 | 2 | +    set isServer2025 to OS_VERSION_NUMBER = "ltsc2025" ^  | 
 | 3 | +    set isServer2022 to OS_VERSION_NUMBER = "ltsc2022" ^  | 
 | 4 | +    set isServer2019 to OS_VERSION_NUMBER = "ltsc2019" ^  | 
 | 5 | +    set isServer2016 to OS_VERSION_NUMBER = "ltsc2016" ^  | 
 | 6 | +    set isNet35 to PRODUCT_VERSION = "3.5" ^  | 
 | 7 | +    set isNet462 to PRODUCT_VERSION = "4.6.2" ^  | 
 | 8 | +    set isNet472 to PRODUCT_VERSION = "4.7.2" ^  | 
 | 9 | +    set isNet48 to PRODUCT_VERSION = "4.8" ^  | 
 | 10 | +    set isNet481 to PRODUCT_VERSION = "4.8.1" ^  | 
 | 11 | + | 
 | 12 | +    set kbExists to VARIABLES[cat("kb|", OS_VERSION_NUMBER, "|", PRODUCT_VERSION)] != void ^  | 
2 | 13 |     set is48SecurityRelease to (VARIABLES[cat("4.8-is-security-release|", OS_VERSION_NUMBER)] = "true") ^  | 
3 |  | -    set apply35Patch to (VARIABLES[cat("kb|", OS_VERSION_NUMBER, "|", PRODUCT_VERSION)] != void && PRODUCT_VERSION = "3.5" && OS_VERSION_NUMBER != "ltsc2019") ^  | 
4 |  | -    set applyPatch to VARIABLES[cat("kb|", OS_VERSION_NUMBER, "|", PRODUCT_VERSION)] != void &&  | 
5 |  | -        !(  | 
6 |  | -            (OS_VERSION_NUMBER = "ltsc2019" && PRODUCT_VERSION = "4.7.2") ||  | 
7 |  | -            (  | 
 | 14 | + | 
 | 15 | +    set apply35Patch to kbExists && isNet35 && !isServer2019 ^  | 
 | 16 | +    set applyPatch to kbExists  | 
 | 17 | +        && !(isServer2025 && isNet481)  | 
 | 18 | +        && !(isServer2019 && isNet472)  | 
 | 19 | +        && !(  | 
 | 20 | +                (isServer2019 && isNet472) ||  | 
8 | 21 |                 (  | 
9 |  | -                    (PRODUCT_VERSION = "4.8" && OS_VERSION_NUMBER != "ltsc2019") ||  | 
10 |  | -                    (PRODUCT_VERSION = "3.5" && OS_VERSION_NUMBER != "ltsc2019")  | 
11 |  | -                ) &&  | 
12 |  | -                is48SecurityRelease  | 
13 |  | -            )  | 
14 |  | -        )  | 
 | 22 | +                    (  | 
 | 23 | +                        (isNet48 && !isServer2019) ||  | 
 | 24 | +                        (isNet35 && !isServer2019)  | 
 | 25 | +                    ) &&  | 
 | 26 | +                    is48SecurityRelease  | 
 | 27 | +                )  | 
 | 28 | +            ) ^  | 
 | 29 | + | 
 | 30 | +    set repo to "mcr.microsoft.com/windows/servercore" ^  | 
 | 31 | +    set tag to cat(OS_VERSION_NUMBER, "-amd64") ^  | 
 | 32 | + | 
 | 33 | +    if isServer2025:{{  | 
 | 34 | +        set repo to cat(repo, "/insider") ^  | 
 | 35 | +        set tag to VARIABLES[cat("windowsservercore|", OS_VERSION_NUMBER, "|insider|tag")]  | 
 | 36 | +    }}^  | 
 | 37 | + | 
 | 38 | +    set fromImage to cat(repo, ":", tag)  | 
 | 39 | + | 
15 | 40 | }}# escape=`  | 
16 | 41 | 
 
  | 
17 |  | -FROM mcr.microsoft.com/windows/servercore:{{OS_VERSION_NUMBER}}-amd64  | 
 | 42 | +FROM {{fromImage}}  | 
18 | 43 | 
 
  | 
19 | 44 | ENV {{  | 
20 | 45 | if OS_VERSION_NUMBER != "ltsc2019" || PRODUCT_VERSION = "4.8" || PRODUCT_VERSION = "4.8.1"  | 
 | 
35 | 60 |     && del microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab `  | 
36 | 61 |     && powershell Remove-Item -Force -Recurse ${Env:TEMP}\* `  | 
37 | 62 |     `  | 
38 |  | -^elif (OS_VERSION_NUMBER = "ltsc2019" && PRODUCT_VERSION = "4.8") || PRODUCT_VERSION = "4.8.1"  | 
 | 63 | +^elif (OS_VERSION_NUMBER = "ltsc2019" && PRODUCT_VERSION = "4.8") || (!isServer2025 && PRODUCT_VERSION = "4.8.1")  | 
39 | 64 | :    # Install .NET Fx {{PRODUCT_VERSION}}  | 
40 | 65 |     curl -fSLo dotnet-framework-installer.exe {{VARIABLES[cat(PRODUCT_VERSION, "|url")]}} `  | 
41 | 66 |     && .\dotnet-framework-installer.exe /q `  | 
 | 
0 commit comments