Hi, this is not really a repackaging, but I think it is extremely important. When you make a Windows 8 AIO(x86 + x64), the sources. Net Frameworks , bring in the source folder sources\ssx to install netfx3. The netfx3 sources are the 32-bit version for Windows 8 32-bit and 64-bit to 64-bit version of the installer. These sources are used to install Net Frameworks from terminal like: dism / online / enable-feature / featurename: NetFX3 / All / source: X \ source \ ssx / LimitAccess You can mix the contents of the images (*.wim) of 32 and 64 bits, but not the installation "sources" of netfx3. Could you create a merge of .Net x86 and x64 in the same folder and not repeat the same files compared bit a bit? I programmed a script to know what are those files that are different, but they are in the same location on both architectures, however today brings running and still gives no results. May be useful I leave here. echo off SETLOCAL ENABLEDELAYEDEXPANSION cls echo Mezclando los fuentes de netfx3 de %1 con %2 y guardandolas en %3 set soureFolder=%1 set resulFolder=%2 set newStFolder=%3 set countS=0 call:CountString %2 set countSource=%countS% echo CountSource %countSource% cd /D%2 for /D /R %%f in (".") do ( set currFolder=%%f set "currFolder=!currFolder:~0,-4!" echo Current !currFolder! set countS=0 call:CountString !currFolder! set /a countS=!countSource!-!countS! set "currFolder=!currFolder:~%countSource%,%countS%!" set soureFolder=%1!currFolder! set resulFolder=%2!currFolder! set newStFolder=%3!currFolder! echo SoureFolder !soureFolder! echo ResulFolder !resulFolder! echo NewStFolder !newStFolder! call:MergeFiles !soureFolder! !resulFolder! !newStFolder! cd %%f ) echo.&pause&goto:eof ::-------------------------------------------------------- ::-- Function section starts below here ::-------------------------------------------------------- :CountString set string=%~1 set count=0 :loopCountString if "!string!" EQU "" goto endloopCountString set /a count=!count!+1 set "string=%string:~0,-1%" goto loopCountString :endloopCountString set countS=!count! goto:eof :MergeFiles cd /D%~1 for %%f in (*.*) do ( if NOT "%%f"=="install.wim" call:copyFileMerge %%f, %~1, %~2, %~3 ) goto:eof :copyFileMerge if EXIST "%~3\%~1" ( echo Buscando coencidencias para el archivo %~1. Puede demorar.... for /f "tokens=*" %%a in ('fc /A "%~2\%~1" "%~3\%~1"') do ( set "v=%%a" ) set var=!v:~4,2! if "!var!" EQU "no" ( echo Los archivos %~1 de ambos origenes coenciden. echo 0 archivos copiados. ) else ( echo Los archivos %~1 de ambos origenes no coenciden. if NOT EXIST "%~4" md "%~4" copy "%~2\%~1" "%~4\%~1" ) ) else ( echo El archivo %~1 no se encuentra en uno de los origenes. if NOT EXIST "%~4" md "%~4" copy "%~2\%~1" "%~4\%~1" ) goto:eof Example to run: ./extractDiferenteFile.bat D:\Windows-8-All-Update\Origin-IAO D:\Windows-8-All-Update\Win-EnterPrise-X64 D:\Windows-8-All-Update\MergeTest thks.