Hi I have tried to do so pure and simple and original iso as possible but can not. I want to make an updated iso With all the updates for windows 7 that you get up when you run Windows update but not this ones: *Internet Explorer 10 *Browser Choice Screen Update (KB976002) Windows Genuine Advantage (kb971033) *Internet Explorer 9 *Malicious Software Removal Tool (KB890830) Windows Defender definition updates (KB915597) Dont want this updates integrated. And i have read that KB2533552 cannot be integrated without special methods. So I skipped this update to make it easier for the noob= me. Are there more updates that do not go to integrated without special tricks? I used VM player then Windows update there, then go between my real computer and the vm and download all the KB files My goal is to make Windows 7 SP1 x64 or x86 AIO look like this. there all windows version is updated. But i only get one version updated not all :/ Windows 7 Home Basic SP1 64-bit Windows 7 Home Premium SP1 64-bit Windows 7 Professional SP1 64-bit Windows 7 Ultimate SP1 64-bit I used this MSDN Source: sv_windows_7_ultimate_with_sp1_x64_dvd_u_677400 sorry to bother and for my bad english :/ feel so bad when this is probably the world's easiest thing for peoble here.
I hope I help you here as I did this a few months back. I extracted the ISO and grabbed the Install.wim file and then placed in own folder. Then I made a sub-folder called x64 for the 64-bit updates. Place any updates you wish to load there, so remove the ones you do not wish to have integrated! So for example I make a folder called WIM, place the install.wim from the 64-bit source ISO. Make a single sub-folder called x64 and place all 64-bit updates into this folder. Then I run this command from a batch file: Code: MD %~dp0MOUNT Dism.exe /Mount-Wim /WimFile:%~dp0install.wim /Index:1 /MountDir:%~dp0MOUNT Dism.exe /image:%~dp0MOUNT /Add-Package /PackagePath:"%~dp0x64" Dism.exe /Unmount-Wim /MountDir:%~dp0MOUNT /commit Dism.exe /Mount-Wim /WimFile:%~dp0install.wim /Index:2 /MountDir:%~dp0MOUNT Dism.exe /image:%~dp0MOUNT /Add-Package /PackagePath:"%~dp0x64" Dism.exe /Unmount-Wim /MountDir:%~dp0MOUNT /commit Dism.exe /Mount-Wim /WimFile:%~dp0install.wim /Index:3 /MountDir:%~dp0MOUNT Dism.exe /image:%~dp0MOUNT /Add-Package /PackagePath:"%~dp0x64" Dism.exe /Unmount-Wim /MountDir:%~dp0MOUNT /commit Dism.exe /Mount-Wim /WimFile:%~dp0install.wim /Index:4 /MountDir:%~dp0MOUNT Dism.exe /image:%~dp0MOUNT /Add-Package /PackagePath:"%~dp0x64" Dism.exe /Unmount-Wim /MountDir:%~dp0MOUNT /commit Pause In the 64-bit Windows 7 WIM there are 4 images to be updated. You can read the DISM log to read any that did not get updated. Make a note of those that did not integrate as you can make them load after Windows has installed by making them load via OEM integration and running commands post-install. This above command should integrate the 64-bit updates to the install.wim for the 4 install (starter, home, premium etc) Once this has done I simply ran this to compress the install.wim: Code: @Echo off C: CD\WIM REN install.wim source.wim imagex /export /compress maximum Source.wim 1 install.wim "Windows 7 Starter x64" imagex /export /compress maximum Source.wim 2 install.wim "Windows 7 HomePremium x64" imagex /export /compress maximum Source.wim 3 install.wim "Windows 7 Professional x64" imagex /export /compress maximum Source.wim 4 install.wim "Windows 7 Ultimate x64" Pause You will need to edit out that code to run in correct paths as I made this quick and dirty. Try to use %~dp0 for current directory but I am sure you can work this out. Then copy your install.wim and test in VM. I did optional step myself of updating the SATA drivers: Code: MD %~dp0MOUNT Dism.exe /Mount-Wim /WimFile:%~dp0boot.wim /index:2 /MountDir:%~dp0MOUNT Dism.exe /image:%~dp0MOUNT /Add-Driver /Driver:"%~dp0x64-Drivers" /Recurse Dism.exe /Unmount-Wim /MountDir:%~dp0MOUNT /commit Pause As you can see this updates the boot.wim file for any driver pack you place (extracted) into a sub-folder called x64-Drivers. If you need the OEM folder structure on how I integrated some updates that failed to integrate then I will try to dig this out for you.
create a file called setupcomplete.cmd and place within your iso location Code: Sources\$OEM$\$$\setup\scripts to install other updates/applications... Code: @ECHO OFF cd %~dp0 start /wait Silverlight.exe /Q start /wait mpas-fe.exe /Q start /wait windows-kb890830-v4.20.exe /Q start /wait dotNetFx45_Full_x86_x64_Slim.exe /ai start /wait KB2798897-rvkroots.exe /Q:A /R:N start /wait rootsupd.exe /Q:A /R:N start /wait wusa.exe Windows6.1-KB943790-x86.msu /quiet /norestart start /wait wusa.exe Windows6.1-KB2533552-x86.msu /quiet /norestart start /wait wusa.exe Windows6.1-KB2685811-x86.msu /quiet /norestart start /wait wusa.exe Windows6.1-KB2685813-x86.msu /quiet /norestart RMDIR /S /Q "C:\Windows\Setup\Scripts" exit
@Nick, cheers that was basically how I did mine. Install silent then cleanup after it has installed the updates post install.
thanks everybody =) gonna test as soon as possible. But i tested on a other image(VISTA sp2 this time) but i get this evrytime when i try to ad packgage Code: C:\>dism /image:c:\tempm /add-package /packagepath:c:\updates Deployment Image Servicing and Management tool Version 6.2.9200.16384 Error: 2 An error occurred while processing the command. For more information, review the log files The DISM log file can be found at C:\Windows\Logs\DISM\dism.log LOG : Code: 2013-05-29 19:17:26, Info DISM DISM.EXE: The target image version is: 6.0.6002.18005. 2013-05-29 19:17:26, Info DISM DISM.EXE: The target image is downlevel and considered supported. Looking for PkgMgr.exe. 2013-05-29 19:17:26, Info DISM DISM.EXE: Executing DISM against a downlevel image. Calling c:\tempm\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe 2013-05-29 19:17:26, Info DISM DISM Provider Store: PID=1836 TID=3424 Getting Provider Compatibility Manager - CDISMProviderStore::GetProvider 2013-05-29 19:17:26, Info DISM DISM Provider Store: PID=1836 TID=3424 Provider has previously been initialized. Returning the existing instance. - CDISMProviderStore::Internal_GetProvider 2013-05-29 19:17:26, Info DISM Compatibility Manager: PID=1836 TID=3424 Processing the top level command token(add-package). - CCbsCliParser::Private_ValidateCmdLine 2013-05-29 19:17:26, Info DISM Compatibility Manager: PID=1836 TID=3424 PackageManager command is being executed: c:\tempm\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe /l:"C:\Windows\Logs\DISM\dism.log.pkgmgr" /o:"c:\tempm;c:\tempm\Windows" /ip /m:"c:\updates" /s:"C:\Users\ULTRAF~1\AppData\Local\Temp\86BA870F-4EF6-4286-A21F-1309EEAC26E5" - CCompatManager::InternalExecuteCommand 2013-05-29 19:17:27, Info DISM Compatibility Manager: PID=1836 TID=3424 PackageManager return code = 0x2 - CCompatManager::InternalExecuteCommand 2013-05-29 19:17:27, Error DISM Compatibility Manager: PID=1836 TID=3424 base\ntsetup\opktools\dism\providers\compatprovider\dll\compatmanager.cpp:971 - CCompatManager::ProcessPackageList(hr:0x80070002) 2013-05-29 19:17:27, Error DISM Compatibility Manager: PID=1836 TID=3424 base\ntsetup\opktools\dism\providers\compatprovider\dll\compatmanager.cpp:590 - CCompatManager::CompatExecuteCmdLine(hr:0x80070002) 2013-05-29 19:17:27, Info DISM DISM.EXE: Image session has been closed. Reboot required=no. 2013-05-29 19:17:27, Info DISM DISM.EXE: 2013-05-29 19:17:27, Info DISM DISM.EXE: <----- Ending Dism.exe session -----> 2013-05-29 19:17:27, Info DISM DISM.EXE: 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Found the OSServices. Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Disconnecting Provider: FolderManager - CDISMProviderStore::Internal_DisconnectProvider 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Disconnecting Provider: WimManager - CDISMProviderStore::Internal_DisconnectProvider 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Disconnecting Provider: VHDManager - CDISMProviderStore::Internal_DisconnectProvider 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Disconnecting Provider: GenericImagingManager - CDISMProviderStore::Internal_DisconnectProvider 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Disconnecting Provider: Compatibility Manager - CDISMProviderStore::Internal_DisconnectProvider 2013-05-29 19:17:27, Info DISM DISM Provider Store: PID=1836 TID=3424 Releasing the local reference to DISMLogger. Stop logging. - CDISMProviderStore::Internal_DisconnectProvider Code: 2013-05-29 19:17:26, Info CBS Pkgmgr: called with: "c:\tempm\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe /l:"C:\Windows\Logs\DISM\dism.log.pkgmgr" /o:"c:\tempm;c:\tempm\Windows" /ip /m:"c:\updates" /s:"C:\Users\ULTRAF~1\AppData\Local\Temp\86BA870F-4EF6-4286-A21F-1309EEAC26E5"" 2013-05-29 19:17:26, Info CSI 00000001@2013/5/29:17:17:26.525 WcpInitialize (wcp.dll version 0.0.0.5) called (stack @0x648a8a50 @0xad165f @0xacb8ea @0xacc368 @0x771633aa @0x77699ef2) 2013-05-29 19:17:26, Info CBS Must be doing offline servicing, using stack version from: c:\tempm\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\cbscore.dll 2013-05-29 19:17:26, Info CBS Loaded Servicing Stack v6.0.6002.18005 with Core: c:\tempm\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\cbscore.dll 2013-05-29 19:17:26, Info CSI 00000002@2013/5/29:17:17:26.527 WcpInitialize (wcp.dll version 0.0.0.5) called (stack @0x648a8a50 @0x647e854e @0x647c63a1 @0xad2aaf @0xad2bfd @0xac4803) 2013-05-29 19:17:26, Info CSI 00000003@2013/5/29:17:17:26.530 WcpInitialize (wcp.dll version 0.0.0.5) called (stack @0x648a8a50 @0x6481e7b6 @0x64800f93 @0xad2aaf @0xad2bfd @0xac4803) 2013-05-29 19:17:27, Info CSI 00000004 CSI Store 3626272 (0x00375520) initialized 2013-05-29 19:17:27, Info CBS Session: 2572:15446969 initialized. 2013-05-29 19:17:27, Info CBS Pkgmgr: Installing package from: c:\updates 2013-05-29 19:17:27, Error CBS Pkgmgr: Failed install of package from: c:\updates, hr: 0x80070002 2013-05-29 19:17:27, Info CBS Pkgmgr: return code: 0x2 anti-virus is off and i run as administrator dident work when try to have the hotfix in cab format either :/
There are 2 ways I have done this now: You can use DISM to update the install.wim "offline" The other way is to load Windows 7 twice: You perform all the windows updates you wish on the 2nd Windows then run sysprep to remove all the "junk" and the temporary user account. Then when you sysprep it for oobe and shutdown you boot from the 1st copy of Windows and then make a "capture" of the 2nd updated partition to an install.wim. 1st method is a little crude to be honest, running these patches post-install. Just not that clean. 2nd method is a little more involved but gives nice clean result. But you will have to do more effort to sort out all the results as you will need to make several installs, one for each version. Pictures taken from both methods View attachment Pictures.txt
vista is picky about how you use dism. I've found that simply using dism to mount and copy files is ok, but integrating updates doesn't work very well. Stick with nlite for vista or use an older waik. As far as win7 integrating, you can do what I do... First install a non-integrated version of the target OS onto a VM like VMware. Then run wuapp and tab between internet explorer and download the target kb files from ms download center. After downloading them all, install them all manually and re-run the wuapp update check. Repeat until the only ones left to download are the ones you don't want to integrate. Then on your normal system, make a dism script to integrate them on the target index: Code: dism /mount-wim /wimfile:c:\win7\sources\install.wim /index:5 /mountdir:c:\mnt dism /image:c:\mnt /add-package /packagepath:c:\mymsufiles\ dism /unmount-wim /mountdir:c:\mnt /commit Make an $OEM$ folder for your setupcomplete.cmd and KB2533552 file If your dvd folder is c:\win7, you would have the full $oem$ structure as: c:\win7\sources\$oem$\$$\Setup\Scripts\ with setupcomplete.cmd and Windows6.1-KB2533552-x86.msu The actual script would look somethin like this: Code: wusa Windows6.1-KB2533552-x86.msu /quiet /norestart cd\ rd /q/s %WINDIR%\Setup\Scripts The RD line always needs to be the last line of the script, and will only actually remove the directory if you are not currently in said directory. If you try to do commands after RD, it will be ignored as the script no longer exists Then on your normal system, make a dism script to integrate them on the target index: Code: dism /mount-wim /wimfile:c:\win7\sources\install.wim /index:5 /mountdir:c:\mnt dism /image:c:\mnt /add-package /packagepath:c:\mymsufiles\ dism /unmount-wim /mountdir:c:\mnt /commit I would recommend keeping things in an $oem$\$$\Setup\Scripts\ format and simply navigating to the parent directory and copy/pasting to your dvd\sources\ folder. If you don't you will inevitably waste a lot of your own time re-iso'ing because you forgot the $$ or spelled scripts without an s.