[W7] Installing Windows Management Framework 3 or Newer Without Windows Update Component

I am in a predicament where I am trying to trim down a Windows 7 image, partially by removing Windows Update. The problem arises that one of the critical applications I need requires TLS 1.2 via PowerShell 3 (or newer) and .NET 4.5 (or newer). Windows 7 comes with PowerShell 2 by default, and upgrading to version 3 or newer requires a Windows Management Framework MSU file to install, which requires you to have the necessary .NET version installed first.

So, this is order in which the events would have to take place:

1. .NET 4.5 (or newer) install during Post Setup
2. Reboot
3. Wait for first logon
4. Upgrade PowerShell to version 3 (or newer) by installing Windows Management Framework 3 (or newer) by running its MSU file
5. Reboot

There's two problems.

1. You cannot integrate the MSU file via NTLite because it requires .NET 4.X to be installed first
2. You cannot manually install the MSU post Windows install without the Windows Update component

Basically, this sort of problem would make it impossible for me to use Windows 7, and force me to redo all of my work on a Windows 10 image instead due to Windows 10 coming with PowerShell 5 by default and therefore supporting TLS 1.2. I know that Windows 7 is already well past end of life, but I will not have the time to transition over to a Windows 10 equivalent of my project for some time due to life priorities, and being able to resolve this issue on Windows 7 would give me the time I need.

Is there a workaround for this currently? nuhi
 
I'm finishing script that can do what you want. Using bunch of tools and NTLite too can produce perfect integrated ISO. But some minor bugs still exist after NTLite touch, nuhi have info in mail so maybe would be fixed soon.

What my script tool does:
1) Prepare image for integtation - dism removing obsolete components (not much but needed for better integration time)
2) Integrate all updates until 12-2020 + generic USB3.x driver + .NET4.8 + VisualC++
3) Auto sysprep and capture image using VirtualBox
4) Perform NTLite custom cleanup - drivers, languages, clean update backup and reuse driver cache to build "core" edition
5) Build ISO with install.esd
6) Integrate DriverPacks from drp.su
7) Build ISO again
8) Create lite version
9) Build ISO again

Result is 36v1 (all Windows 7 editions that exists) Windows 7 image up-to-date, supported are all languages to build. If you proceed to lite version you get ISO with 72 versions Windows 7.

Ability to build only targeted image like pointing extracted folder to Windows 7 ISO will be here too. In future will be added also R2 and Embedded process to, I only write test scripts for them as Client AIO tool need to come first.

Complete process should be finished in moth or two and posted here to make Windows 7 managing easier.


[Config]
; Windows 7 Ultimate / Enterprise - these images you need in your language (cs-CZ, sk-SK..)
ULTx86=Win7_Ult_SP1_Czech_x32.iso
ULTx64=Win7_Ult_SP1_Czech_x64.iso
ULTNx86=Win7_Ult_N_SP1_Czech_x32.iso
ULTNx64=Win7_Ult_N_SP1_Czech_x64.iso
ENTx86=Win7_Ent_SP1_Czech_x32.iso
ENTx64=Win7_Ent_SP1_Czech_x64.iso
ENTNx86=Win7_Ent_N_SP1_Czech_x32.iso
ENTNx64=Win7_Ent_N_SP1_Czech_x64.iso

; Server 2008 R2 Standard - this images you need in your language (cs-CZ, sk-SK..)
R2Srvx64=2K8R2_Srv_SP1_Czech_x64.iso

; Unreleased E / Embedded Editions - Only English (en-US) images are needed
THIN=Win7_Thin_SP1_English.iso
POS7x86=Win7_POSReady_SP1_English_x32.iso
POS7x64=Win7_POSReady_SP1_English_x64.iso
ULTEx86=Win7_Ult_E_RTM_English_x32.iso
ULTEx64=Win7_Ult_E_RTM_English_x64.iso
ENTEx86=Win7_Ent_E_RTM_English_x32.iso
ENTEx64=Win7_Ent_E_RTM_English_x64.iso

; Server 2008 R2 Editions - Only English (en-US) images are needed
R2HPCx64=2K8R2_HPC_SP1_English_x64.iso
R2HyperVx64=2K8R2_Hyper-V_RTM_English_x64.iso
R2Fndx64=2K8R2_Fnd_SP1_English_x64.iso
R2MP10x64=2K8R2_MultiPoint10_RTM_English_x64.iso
R2StrEx64=2K8R2_Storage_Essentials_SP1_English_x64.iso
R2Homex64=2K8R2_HomeServer_SP1_English_x64.iso
R2MP11x64=2K8R2_MultiPoint11_SP1_English_x64.iso
R2SBSSx64=2K8R2_SBS_Standard_RTM_English_x64.iso
R2SBSEx64=2K8R2_SBS_Essentials_SP1_English_x64.iso

; Windows 10 for Setup Engine upgrade - these images you need in your language (cs-CZ, sk-SK..)
ENGINEx86=Win10_20H2_Czech_x32.iso
ENGINEx64=Win10_20H2_Czech_x64.iso


; WIM datetime
;http://lab.windowswiki.info/whtc/
HIGHPART=0x01D6AA59
LOWPART=0x665A1800


; Windows build
BUILD=7601.24563
SPVER=24563


; DISM settings
; 1 = Errors only
; 2 = Errors and warnings
; 3 = Errors, warnings, and informational
; 4 = All of the information listed previously, plus debug output
DISMErrorLevel=1
; System DISM is used, but you can specify DISM version included in apps folder
CustomDISM=No
CustomDISMVersion=10


; UefiSeven
; https://github.com/manatails/uefiseven
IntegrateUefiSeven=Yes


; Ability to integrate Windows Movie Maker, Texas Hold E'm, Microsoft Tinker
IntegrateVistaExtras=Yes


; Ability to Auto-Sysprep
Sysprep=Yes


; VirtualBox setting for Sysprep
VirtualBoxPath=C:\Program Files\Oracle\VirtualBox
MachineName=Windows7Syprep
OSType=Windows7_64
RAM=2048
VRAM=128
HDDSize=30000
HDDType=VHD
HDDLabel=W7Sysprep
ASSIGNLETTER=X


; Ability to build lite version
BuildLite=Yes
 
Last edited:
I'm finishing script that can do what you want. Using bunch of tools and NTLite too can produce perfect integrated ISO. But some minor bugs still exist after NTLite touch, nuhi have info in mail so maybe would be fixed soon.

What my script tool does:
1) Prepare image for integtation - dism removing obsolete components (not much but needed for better integration time)
2) Integrate all updates until 12-2020 + generic USB3.x driver + .NET4.8 + VisualC++
3) Auto sysprep and capture image using VirtualBox
4) Perform NTLite custom cleanup - drivers, languages, clean update backup and reuse driver cache to build "core" edition
5) Build ISO with install.esd
6) Integrate DriverPacks from drp.su
7) Build ISO again
8) Create lite version
9) Build ISO again

Result is 36v1 (all Windows 7 editions that exists) Windows 7 image up-to-date, supported are all languages to build. If you proceed to lite version you get ISO with 72 versions Windows 7.

Ability to build only targeted image like pointing extracted folder to Windows 7 ISO will be here too. In future will be added also R2 and Embedded process to, I only write test scripts for them as Client AIO tool need to come first.

Complete process should be finished in moth or two and posted here to make Windows 7 managing easier.


[Config]
; Windows 7 Ultimate / Enterprise - these images you need in your language (cs-CZ, sk-SK..)
ULTx86=Win7_Ult_SP1_Czech_x32.iso
ULTx64=Win7_Ult_SP1_Czech_x64.iso
ULTNx86=Win7_Ult_N_SP1_Czech_x32.iso
ULTNx64=Win7_Ult_N_SP1_Czech_x64.iso
ENTx86=Win7_Ent_SP1_Czech_x32.iso
ENTx64=Win7_Ent_SP1_Czech_x64.iso
ENTNx86=Win7_Ent_N_SP1_Czech_x32.iso
ENTNx64=Win7_Ent_N_SP1_Czech_x64.iso

; Server 2008 R2 Standard - this images you need in your language (cs-CZ, sk-SK..)
R2Srvx64=2K8R2_Srv_SP1_Czech_x64.iso

; Unreleased E / Embedded Editions - Only English (en-US) images are needed
THIN=Win7_Thin_SP1_English.iso
POS7x86=Win7_POSReady_SP1_English_x32.iso
POS7x64=Win7_POSReady_SP1_English_x64.iso
ULTEx86=Win7_Ult_E_RTM_English_x32.iso
ULTEx64=Win7_Ult_E_RTM_English_x64.iso
ENTEx86=Win7_Ent_E_RTM_English_x32.iso
ENTEx64=Win7_Ent_E_RTM_English_x64.iso

; Server 2008 R2 Editions - Only English (en-US) images are needed
R2HPCx64=2K8R2_HPC_SP1_English_x64.iso
R2HyperVx64=2K8R2_Hyper-V_RTM_English_x64.iso
R2Fndx64=2K8R2_Fnd_SP1_English_x64.iso
R2MP10x64=2K8R2_MultiPoint10_RTM_English_x64.iso
R2StrEx64=2K8R2_Storage_Essentials_SP1_English_x64.iso
R2Homex64=2K8R2_HomeServer_SP1_English_x64.iso
R2MP11x64=2K8R2_MultiPoint11_SP1_English_x64.iso
R2SBSSx64=2K8R2_SBS_Standard_RTM_English_x64.iso
R2SBSEx64=2K8R2_SBS_Essentials_SP1_English_x64.iso

; Windows 10 for Setup Engine upgrade - these images you need in your language (cs-CZ, sk-SK..)
ENGINEx86=Win10_20H2_Czech_x32.iso
ENGINEx64=Win10_20H2_Czech_x64.iso


; WIM datetime
;http://lab.windowswiki.info/whtc/
HIGHPART=0x01D6AA59
LOWPART=0x665A1800


; Windows build
BUILD=7601.24563
SPVER=24563


; DISM settings
; 1 = Errors only
; 2 = Errors and warnings
; 3 = Errors, warnings, and informational
; 4 = All of the information listed previously, plus debug output
DISMErrorLevel=1
; System DISM is used, but you can specify DISM version included in apps folder
CustomDISM=No
CustomDISMVersion=10


; UefiSeven
; https://github.com/manatails/uefiseven
IntegrateUefiSeven=Yes


; Ability to integrate Windows Movie Maker, Texas Hold E'm, Microsoft Tinker
IntegrateVistaExtras=Yes


; Ability to Auto-Sysprep
Sysprep=Yes


; VirtualBox setting for Sysprep
VirtualBoxPath=C:\Program Files\Oracle\VirtualBox
MachineName=Windows7Syprep
OSType=Windows7_64
RAM=2048
VRAM=128
HDDSize=30000
HDDType=VHD
HDDLabel=W7Sysprep
ASSIGNLETTER=X


; Ability to build lite version
BuildLite=Yes
George King; any update on this?
 
2. You cannot manually install the MSU post Windows install without the Windows Update component
I think if you don't remove the Component Store you can extract the .cab from .msu using 7-zip and add the package with Dism or add the .msu directly with Dism.

https://docs.microsoft.com/en-us/wi...ge-servicing-command-line-options#add-package
https://thewincentral.com/how-to-install-cab-files-on-windows-10-for-cumulative-updates/

Another option is to integrate .NET 4.8 offline with MSMG Toolkit or WinToolkit:

https://msmgtoolkit.in/download.html
https://www.wincert.net/forum/topic/11127-microsoft-net-framework-48-for-windows-7/
https://github.com/Legolash2o/WinToolkit_v1

Or you can install .NET 4.8 in audit mode and capture the image for an install.wim
 
I think if you don't remove the Component Store you can extract the .cab from .msu using 7-zip and add the package with Dism or add the .msu directly with Dism.

https://docs.microsoft.com/en-us/wi...ge-servicing-command-line-options#add-package
https://thewincentral.com/how-to-install-cab-files-on-windows-10-for-cumulative-updates/

Another option is to integrate .NET 4.8 offline with MSMG Toolkit or WinToolkit:

https://msmgtoolkit.in/download.html
https://www.wincert.net/forum/topic/11127-microsoft-net-framework-48-for-windows-7/
https://github.com/Legolash2o/WinToolkit_v1

Or you can install .NET 4.8 in audit mode and capture the image for an install.wim

I did some digging and found some custom update packages that allow .NET 4.7.2 and/or 4.8 to be slipstreamed into an offline image.

Haven’t tested it yet but comments seem promising.

Also, one of the key requirements of my project is to minimize the final ISO file size as much as possible, so component store removal is necessary and capturing WIMs in audit mode is also not an option.
 
I did some digging and found some custom update packages that allow .NET 4.7.2 and/or 4.8 to be slipstreamed into an offline image.

Haven’t tested it yet but comments seem promising.

Also, one of the key requirements of my project is to minimize the final ISO file size as much as possible, so component store removal is necessary and capturing WIMs in audit mode is also not an option.
Yes this is solution I'm using by script.
 
Back
Top