TOOL: Windows Setup AIO Builder for 7-10 with install.wim / install.esd

Discussion in 'Windows 7' started by George King, Jul 31, 2020.

  1. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    #1 George King, Jul 31, 2020
    Last edited: Jan 19, 2021
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    Reserved
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. loader24

    loader24 MDL Novice

    May 18, 2016
    45
    4
    0
    Gonna try this .. maybe soon..
    I'll let you know if it works. thanks for this script
     
  4. loader24

    loader24 MDL Novice

    May 18, 2016
    45
    4
    0
    can you create script that only convert windows 7 installer capable of running install.esd?
     
  5. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    You mean only build single architecture Windows 7 ESD setup ISO? Without AIO?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. loader24

    loader24 MDL Novice

    May 18, 2016
    45
    4
    0
    yep,, coz only thing I didn't see in here
     
  7. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    Updated!


    14.12.2020 - v1.1

    • Added: Dynamic drivers folder support
    • Added: Multi-Unattended files selector
    • Fixed: UEFI boot when building Windows 10 AIO
    • Fixed: System automatically reboot when you cancelled migration
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    7,583
    14,912
    240
    I got my own way to build aios. Now, I want them capable for in-place upgrade feature, just as a single edition iso.
    I just want that feature for a multi-edition iso or aio, how can I use your tool for W10, W8.1 and W7, I don't need to use those extra features of your tool.
     
  9. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    That depends on how you made your AIO image. For reference see setup.cmd, it can help you.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. shhnedo

    shhnedo MDL Addicted

    Mar 20, 2011
    921
    1,268
    30
    @George King Download link leads to v1.0.1, not v1.1. I downloaded it, checked the properties on the .cmd files and they were dated July 2020.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    493
    30
    Thanks, link is fixed in first post now
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    7,583
    14,912
    240
    These are the images/editions I put into my aio (x64 not x86 anymore)
    Code:
    imagex /flags "Core" /info W:\INSTALL_WIM\install.wim 1 "Windows 10 Home"
    
    imagex /flags "CoreSingleLanguage" /info W:\INSTALL_WIM\install.wim 2 "Windows 10 Home Single Language"
    
    imagex /flags "Education" /info W:\INSTALL_WIM\install.wim 3 "Windows 10 Education"
    
    imagex /flags "Professional" /info W:\INSTALL_WIM\install.wim 4 "Windows 10 Pro"
    
    imagex /flags "ProfessionalEducation" /info W:\INSTALL_WIM\install.wim 5 "Windows 10 Pro Education"
    
    imagex /flags "ProfessionalWorkstation" /info W:\INSTALL_WIM\install.wim 6 "Windows 10 Pro for Workstations"
    
    imagex /flags "ProfessionalSingleLanguage" /info W:\INSTALL_WIM\install.wim 7 "Windows 10 Pro Single Language"
    
    imagex /flags "Enterprise" /info W:\INSTALL_WIM\install.wim 8 "Windows 10 Enterprise"
    

    ei.cfg
    Code:
    [Channel]
    _Default
    
    [VL]
    0
    


    That's it.

    This way it works wonders when I format and install Windows from scratch. But now I want it capable of in-place upgrade. I don't know what to look for into setup.cmd

    Note that afaik when you try to do an in-place upgrade with a multi edition iso / aio such feature breaks, right?
     
  13. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    35,253
    58,598
    450
    My AiO ISOs can perform inplace upgrades by default, like standard MVS ISOs can:

    Code:
    [01] 16/01/2021 nl-NL x64 10.0.19041.746 Win 10 (20H2) Home x64 nl-NL (19042.746) | Core
    [02] 16/01/2021 nl-NL x64 10.0.19041.746 Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP) | Core
    [03] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Professional x64 nl-NL (19042.746) | Professional
    [04] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP) | Professional
    [05] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Education x64 nl-NL (19042.746) | Education
    [06] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Education x64 nl-NL (19042.746 - MRP) | Education
    [07] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Pro-Education x64 nl-NL (19042.746) | ProfessionalEducation
    [08] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Pro-Education x64 nl-NL (19042.746 - MRP) | ProfessionalEducation
    [09] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Pro-Workstation x64 nl-NL (19042.746) | ProfessionalWorkstation
    [10] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Pro-Workstation x64 nl-NL (19042.746 - MRP) | ProfessionalWorkstation
    [11] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Enterprise x64 nl-NL (19042.746) | Enterprise
    [12] 20/01/2021 nl-NL x64 10.0.19042.746 Win 10 (20H2) Enterprise x64 nl-NL (19042.746 - MRP) | Enterprise
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    7,583
    14,912
    240
    @Enthousiast cabrón :D

    You once told me, or read in one of your thousands posts, it breaks when using aios. What changed
     
  15. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    35,253
    58,598
    450
    That was with mixed builds, like the huge AiOs by @murphy78.

    All current MVS Win 10 ISOs are AiO.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. Mr.X

    Mr.X MDL Guru

    Jul 14, 2013
    7,583
    14,912
    240
    Ok gonna test some day soon lol
    In the meantime tell me if I need anything else besides ei.cfg file.
     
  17. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    35,253
    58,598
    450
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Carlos Detweiller

    Carlos Detweiller MDL Spinning Tortoise

    Dec 21, 2012
    4,459
    4,455
    150
    How do you create the "MRP vs. no MRP" SKU entries? Usually, you need to apply MRP to the sources directory, so, it would apply to all SKUs alike. Is there a special trick?
     
  19. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    35,253
    58,598
    450
    #20 Enthousiast, Jan 20, 2021
    Last edited: Jan 20, 2021
    I just put MRP partially in every desired index "ISO:\Sources\install.wim/esd\index:x\windows\setup\scripts" folder (the ini file is in the "ISO:\Sources\$OEM$" folder, outside the install.esd, for users to be able to create and put in their own ini file), using wimlib-imagex.
    Code:
    @echo off
    
    TITLE 19042.746_AiO_Prepare_Sources_x64
    echo Checking for admin...
    
    if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
    
    :gotAdmin
        pushd "%CD%"
        CD /D "%~dp0"
    cls
    @echo off
    
    setlocal EnableDelayedExpansion
    echo Script Started At %time%
    
    echo.
    echo Preparation Phase...
    echo.
    dism /unmount-wim /mountdir:c:\mount /discard
    
    DISM /Cleanup-Wim
    if exist "Winre_x64" RD /S /Q "Winre_x64"
    if exist "Work" RD /S /Q "Work"
    if exist "%SystemDrive%\Mount_Temp" RD /S /Q "%SystemDrive%\Mount_Temp"
    if exist "Dart_w10\Dart_w10" RD /S /Q "Dart_w10\Dart_w10"
    if exist "Dart_w10\Dart_w10_DeBug" RD /S /Q "Dart_w10\Dart_w10_DeBug"
    if exist "Dart_w10\Dart_w10_en-US" RD /S /Q "Dart_w10\Dart_w10_en-US"
    if exist "DaRT" RD /S /Q "DaRT"
    
    mkdir "Work\Consumer_ISO\x64"
    mkdir "%SystemDrive%\Mount_Temp"
    echo.
    echo Extracting Source ISO...
    echo.
    bin\7z x -y -oAiO\x64\ Source_ISOs\x64\Cons_ISO\
    ::xcopy /s /i /Q "Work\Consumer_ISO\x64" "AiO\x64"
    if exist "AiO\x64\Sources\uup" RD /S /Q "AiO\x64\Sources\uup"
    if exist "AiO\x64\Sources\sxs" RD /S /Q "AiO\x64\Sources\sxs"
    
    COPY /Y "EI_CFG\EI.CFG" "AiO\x64\Sources\"
    echo.
    echo Preparing DaRT...
    echo.
    bin\7z x -y -oDart_w10\Dart_w10 Dart_w10\Dart_w10.tpk
    bin\7z x -y -oDart_w10\Dart_w10_DeBug Dart_w10\DebugTools_w10_rs6.tpk
    bin\7z x -y -oDart_w10\Dart_w10_en-US Dart_w10\Dart_w10_en-US.tpk
    
    Bin\wimlib-imagex extract "aio\x64\sources\install.wim" 1 Windows\System32\fmapi.dll --no-acls --dest-dir=DaRT
    echo.
    echo Adding DaRT To Boot.wim...
    echo.
    Bin\wimlib-imagex update "AiO\x64\Sources\boot.wim" 2 --command="add 'Dart_w10\Dart_w10\2\' '\'"
    Bin\wimlib-imagex update "AiO\x64\Sources\boot.wim" 2 --command="add 'Dart_w10\Dart_w10_DeBug\2\' '\'"
    Bin\wimlib-imagex update "AiO\x64\Sources\boot.wim" 2 --command="add 'Dart_w10\Dart_w10_en-US\2\' '\'"
    
    Bin\wimlib-imagex update "AiO\x64\Sources\boot.wim" 2 --command="add 'DaRT\' '\Windows\System32\'"
    echo.
    echo Adding Murphy78 Diskpart and Apply Image Script 1.28 To Boot.wim...
    echo.
    Bin\wimlib-imagex update AiO\x64\sources\boot.wim 2 --command "add 'Murphy78\murphy78-DiskPart-Apply-v1.2.8\x64\' '\'"
    Dism /mount-wim /wimfile:AiO\x64\sources\boot.wim /index:2 /mountdir:"%SystemDrive%\Mount_Temp"
    DISM /Image:"%SystemDrive%\Mount_Temp" /Add-Package /PackagePath:Murphy78\x64_19041\Winrec\
    DISM /Image:"%SystemDrive%\Mount_Temp" /Add-Package /PackagePath:Murphy78\x64_19041\Winrec_LP_nlNL\
    DISM /Image:"%SystemDrive%\Mount_Temp" /Cleanup-Image /StartComponentCleanup /ResetBase
    DISM /Unmount-Image /MountDir:"%SystemDrive%\Mount_Temp" /Commit
    echo.
    echo Extracting Winre.wim...
    echo.
    Bin\wimlib-imagex extract "aio\x64\sources\install.wim" 1 Windows\System32\Recovery\winre.wim --no-acls --dest-dir=Winre_x64
    echo.
    echo Adding DaRT To Winre.wim...
    echo.
    Bin\wimlib-imagex update "Winre_x64\WinRE.wim" 1 --command="add 'Dart_w10\Dart_w10\2\' '\'"
    Bin\wimlib-imagex update "Winre_x64\WinRE.wim" 1 --command="add 'Dart_w10\Dart_w10_DeBug\2\' '\'"
    Bin\wimlib-imagex update "Winre_x64\WinRE.wim" 1 --command="add 'Dart_w10\Dart_w10_en-US\2\' '\'"
    
    Bin\wimlib-imagex update "Winre_x64\WinRE.wim" 1 --command="add 'DaRT\' '\Windows\System32\'"
    
    Bin\wimlib-imagex optimize "Winre_x64\Winre.wim"
    
    echo.
    echo Putting Winre.wim Back In Install.wim...
    echo.
    
    for /f "tokens=3 delims=: " %%i in ('Bin\wimlib-imagex info AiO\x64\sources\install.wim ^| findstr /c:"Image Count"') do set images=%%i
    for /L %%i in (1,1,%images%) do (
      Bin\wimlib-imagex update "AiO\x64\sources\install.wim" %%i --command="add 'Winre_x64\Winre.wim' '\Windows\System32\Recovery\winre.wim'" >nul
      Bin\wimlib-imagex update "AiO\x64\Sources\install.wim" %%i --command="add '19042_insomnia_nlNL\insomnia.rtf' '\Windows\insomnia.rtf'" >nul
    )
    echo.
    echo Creating SKUs Setting The Index Flags And Info And Inserting The Different Scripts Folders...
    echo.
    REM Adding Core
    
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\install.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\install.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\install.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\install.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\install.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\sku.wim" /Compress:max
    
    Bin\imagex /flags "Core" /info "AiO\x64\Sources\aio.install.wim" 1 "Win 10 (20H2) Home x64 nl-NL (19042.746)" "Win 10 (20H2) Home x64 nl-NL (19042.746)"
    Bin\imagex /flags "Core" /info "AiO\x64\Sources\aio.install.wim" 2 "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP)" "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP)"
    Bin\imagex /flags "Core" /info "AiO\x64\Sources\aio.install.wim" 3 "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP - HWID)" "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP - HWID)"
    Bin\imagex /flags "Core" /info "AiO\x64\Sources\aio.install.wim" 4 "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP - OPP19)" "Win 10 (20H2) Home x64 nl-NL (19042.746 - MRP - Office Pro Plus 2019)"
    
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 1 --command="add 'Scripts_1' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 2 --command="add 'Scripts_2' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 3 --command="add 'Scripts_3a' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 4 --command="add 'Scripts_4_x64' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 4 --command="add '19042_insomnia_nlNL_OPP19\insomnia.rtf' '\Windows\insomnia.rtf'" >nul
    
    REM Creating Pro
    
    Dism /mount-wim /wimfile:AiO\x64\Sources\sku.wim /index:1 /mountdir:c:\mount
    dism /Image:C:\Mount /Set-Edition:Professional /Channel:Retail
    dism /Unmount-Image /MountDir:C:\Mount /Commit
    
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\sku.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\sku.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\sku.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    dism /Export-Image /SourceImageFile:"AiO\x64\Sources\sku.wim" /SourceIndex:1 /DestinationImageFile:"AiO\x64\Sources\aio.install.wim" /Compress:max
    
    Bin\imagex.exe /flags "Professional" /info "AiO\x64\Sources\aio.install.wim" 5 "Win 10 (20H2) Professional x64 nl-NL (19042.746)" "Win 10 (20H2) Professional x64 nl-NL (19042.746)"
    Bin\imagex.exe /flags "Professional" /info "AiO\x64\Sources\aio.install.wim" 6 "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP)" "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP)"
    Bin\imagex.exe /flags "Professional" /info "AiO\x64\Sources\aio.install.wim" 7 "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP - HWID)" "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP - HWID)"
    Bin\imagex.exe /flags "Professional" /info "AiO\x64\Sources\aio.install.wim" 8 "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP - OPP19)" "Win 10 (20H2) Professional x64 nl-NL (19042.746 - MRP - Office Pro Plus 2019)"
    
    del AiO\x64\Sources\sku.wim
    
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 5 --command="add 'Scripts_1' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 6 --command="add 'Scripts_2' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 7 --command="add 'Scripts_3a' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 8 --command="add 'Scripts_4_x64' '\Windows\Setup\Scripts'"
    Bin\wimlib-imagex update "AiO\x64\Sources\aio.install.wim" 8 --command="add '19042_insomnia_nlNL_OPP19\insomnia.rtf' '\Windows\insomnia.rtf'" >nul
    
    etcetc...
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...