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

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    30
    #1 George King, Jul 31, 2020
    Last edited: Jan 19, 2021
  2. George King

    George King MDL Addicted

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    30
    Reserved
     
  3. loader24

    loader24 MDL Junior Member

    Joined:
    May 18, 2016
    Messages:
    50
    Likes Received:
    4
    Trophy Points:
    0
    Gonna try this .. maybe soon..
    I'll let you know if it works. thanks for this script
     
  4. loader24

    loader24 MDL Junior Member

    Joined:
    May 18, 2016
    Messages:
    50
    Likes Received:
    4
    Trophy Points:
    0
    can you create script that only convert windows 7 installer capable of running install.esd?
     
  5. George King

    George King MDL Addicted

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    30
    You mean only build single architecture Windows 7 ESD setup ISO? Without AIO?
     
  6. loader24

    loader24 MDL Junior Member

    Joined:
    May 18, 2016
    Messages:
    50
    Likes Received:
    4
    Trophy Points:
    0
    yep,, coz only thing I didn't see in here
     
  7. George King

    George King MDL Addicted

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    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
     
  8. Mr.X

    Mr.X MDL Guru

    Joined:
    Jul 14, 2013
    Messages:
    7,625
    Likes Received:
    14,952
    Trophy Points:
    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

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    30
    That depends on how you made your AIO image. For reference see setup.cmd, it can help you.
     
  10. shhnedo

    shhnedo MDL Addicted

    Joined:
    Mar 20, 2011
    Messages:
    927
    Likes Received:
    1,273
    Trophy Points:
    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.
     
  11. George King

    George King MDL Addicted

    Joined:
    Aug 5, 2009
    Messages:
    654
    Likes Received:
    521
    Trophy Points:
    30
    Thanks, link is fixed in first post now
     
  12. Mr.X

    Mr.X MDL Guru

    Joined:
    Jul 14, 2013
    Messages:
    7,625
    Likes Received:
    14,952
    Trophy Points:
    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

    Joined:
    Oct 30, 2009
    Messages:
    35,561
    Likes Received:
    59,624
    Trophy Points:
    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
     
  14. Mr.X

    Mr.X MDL Guru

    Joined:
    Jul 14, 2013
    Messages:
    7,625
    Likes Received:
    14,952
    Trophy Points:
    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

    Joined:
    Oct 30, 2009
    Messages:
    35,561
    Likes Received:
    59,624
    Trophy Points:
    450
    That was with mixed builds, like the huge AiOs by @murphy78.

    All current MVS Win 10 ISOs are AiO.
     
  16. Mr.X

    Mr.X MDL Guru

    Joined:
    Jul 14, 2013
    Messages:
    7,625
    Likes Received:
    14,952
    Trophy Points:
    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

    Joined:
    Oct 30, 2009
    Messages:
    35,561
    Likes Received:
    59,624
    Trophy Points:
    450
  18. Mr.X

    Mr.X MDL Guru

    Joined:
    Jul 14, 2013
    Messages:
    7,625
    Likes Received:
    14,952
    Trophy Points:
    240
  19. Carlos Detweiller

    Carlos Detweiller MDL Spinning Tortoise

    Joined:
    Dec 21, 2012
    Messages:
    4,514
    Likes Received:
    4,542
    Trophy Points:
    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?
     
  20. Enthousiast

    Enthousiast MDL Tester

    Joined:
    Oct 30, 2009
    Messages:
    35,561
    Likes Received:
    59,624
    Trophy Points:
    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...