[TOOL] XP2ESD - Create modern Windows XP installer v1.6.2

Discussion in 'Windows XP / Older OS' started by George King, Jan 8, 2021.

  1. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    @George King Wow! This custom mouse tutorial is new, unheard of, and interesting! :O
    I hope some options regarding choosing themes, wallpapers, and other mouse cursors will be considered soon.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. George King

    George King MDL Expert

    Aug 5, 2009
    1,963
    2,506
    60
    Mouse Tutorial option was already in documentation and all files were in place. But when I enabled that option it runs into "Page can't be displayed". After reading HTM and JS in OOBE I decided to try to fix it.

    @UsefulAGKHelper I don't have any plans for adding new pages (they will need translations). I'm only using everything that is already present and "locked" by design :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    I understand now. However, I started to notice a lot of empty spaces (especially in the pages with the picture frame) that could be filled with more detailed text so that it looks more like the official pages.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. George King

    George King MDL Expert

    Aug 5, 2009
    1,963
    2,506
    60
    They are untouched
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    Well, with the way it looks, it's quite easy to tell that these hidden pages weren't intended to be public by Microsoft.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    @nlgxzef Perhaps when XP2ESD 1.6.3 gets released, maybe you should do a video on YouTube about testing and reviewing XP2ESD 1.6.3.
    XP2ESD has changed a lot in comparison to version 1.5.6, so by reviewing the newest version and the new changes, users will become more curious and interested in XP2ESD.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. MilkChan

    MilkChan MDL Addicted

    Mar 8, 2020
    501
    315
    30
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. George King

    George King MDL Expert

    Aug 5, 2009
    1,963
    2,506
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. nlgxzef

    nlgxzef MDL Novice

    Aug 23, 2009
    49
    35
    0
    I'll do it. Waiting for v1.6.3 to release. ;)
     
  10. MilkChan

    MilkChan MDL Addicted

    Mar 8, 2020
    501
    315
    30
    #2070 MilkChan, Oct 29, 2022
    Last edited: Oct 30, 2022
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    @George King For easy customization, in my case, I decided to add bootice inside XP wim in system32, and in OOBE folder from ISO.
    I also added serviwin, devmanview, driverview, so I can customize system files, services, device drivers and show drivers currently used to boot from memory.
    Just so you know.
    I don't know if this is necessary for the end-user to have, but it makes it easier to customize BCD boot, system drivers (including any offline windows OS), and device manager entries (including any offline windows OS). You won't have to constantly restart from XP to the host OS to configure everything on XP, it can also be done from the XP OS to save time.
    I already explained to you in earlier posts what devmanview is capable of, so perhaps you can use that same tool (from host OS) to see if the backport ported drivers are installed properly on XP (try to do this especially when you encounter problems with XP freezing during winload boot). You know for testing purposes (reminds me of WinDBG).
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    #2072 UsefulAGKHelper, Oct 30, 2022
    Last edited: Oct 30, 2022
    I tried to get XP installed from XP2ESD modern installer directly into a another partition of my drive to try to get it boot from BCD on UEFI Class 3 and it froze (boot crash is disabled). Right now, this is another installation (finished) that I have done on VirtualBox and I copied the contents directly to the partition to try to get it to boot on my laptop.
    If boot crash is enabled, it would restart after few seconds of initiating boot screen (former installation).
    If I try to backport acpiex.sys (with missing imports), I would receive instantly on Boot that an Unexpected error occurred (it happened on another XP installation on the same partition).
    The bsod happened at one of the earliest boot stages. But because of there's no gui boot (otherwise it will be stuck on a endless black screen), I can't see the BSOD, so I have to try to mess around with the drivers using devmanview to try to find and spot the problem.
    On offline windows, devman can't install or uninstall drivers, but I can enable or disable them (or edit them from regedit).
    Editing from entries using devmanview on offline windows, will change the contents from the Enum folder from the offline system hive (for the system drivers and services, use Serviwin).
    I have disabled some of the device drivers manually (both sys driver and device manager entry using the same two tools) to disable VirtualBox Guest Additions on real hardware.
    upload_2022-10-30_12-32-35.png upload_2022-10-30_12-32-46.png upload_2022-10-30_12-33-25.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. MilkChan

    MilkChan MDL Addicted

    Mar 8, 2020
    501
    315
    30
    #2074 MilkChan, Oct 30, 2022
    Last edited: Oct 30, 2022
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    @George King I managed to add Windows XP's logo icon to the bitmap Windows banner (for xpwizimg.dll) over the same picture so XP2ESD's setup has XP's logo instead of Vista/7's logo.
    If this looks ok, can you please add it to resources 409 and 411 from the folder bitmap on xpwizimg.dll using resource hacker?
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    This is what XP2ESD setup looks like with Windows XP's logo.
    XP-XP2ESD-logo-screenshot.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. MilkChan

    MilkChan MDL Addicted

    Mar 8, 2020
    501
    315
    30
    This logo might look nicer than I thought it would help to indicate which version of Windows is being installed.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. George King

    George King MDL Expert

    Aug 5, 2009
    1,963
    2,506
    60
    @UsefulAGKHelper Great! I have updated spwizimg.res with your logo for next :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    @George King I finally understood why BootPartition doesn't work, on setup.cmd you forgot to replicate the same BCD codes (for legacy and UEFI) on U:\ partition (when bootpartition is enabled). The code from legacy BCD is only replicated on UEFI with bootpartition set to no.
    That's why it doesn't work when I tried to boot on XP with this option enabled on settings.ini, because the BCD is unaltered.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    402
    263
    10
    #2080 UsefulAGKHelper, Nov 2, 2022
    Last edited: Nov 2, 2022
    The fix for BootPartition, this code should work. If not, then It can always be improvised to fix more problems.
    I decided to also include the codes between my edits so you can see more clearly where to put the code.
    REM Winload option - updated to support BootPartition
    if exist "%TARGET%\Windows\system32\winload.exe" (
    bcdedit /store "%TARGET%\boot\bcd" /set {default} description "%Version%" >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {default} device partition=%TARGET% >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {default} path \windows\system32\winload.exe >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {default} osdevice partition=%TARGET% >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {default} systemroot \Windows >nul
    rem if "%ModernBoot%" == "Yes" (
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} detecthal no >nul
    rem ) else (
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} detecthal yes >nul
    rem )
    REM Disable detect hal feature - TEST
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} detecthal no >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} pae default >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} ems off >nul

    bcdedit /store "%TARGET%\boot\bcd" /deletevalue {default} winpe >nul
    bcdedit /store "%TARGET%\boot\bcd" /deletevalue {default} ems >nul
    bcdedit /store "%TARGET%\boot\bcd" /deletevalue {default} pae >nul
    bcdedit /store "%TARGET%\boot\bcd" /deletevalue {default} detecthal >nul

    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} winpe yes >nul

    bcdedit /store "%TARGET%\boot\bcd" /set {default} nointegritychecks yes >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {default} quietboot on >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} integrityservices disable >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} TESTSIGNING ON >nul

    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} loadoptions DDISABLE_INTEGRITY_CHECKS >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} loadoptions DISABLE_INTEGRITY_CHECKS >nul

    REM Settings for x64 boot? - TEST
    rem bcdedit /store "%TARGET%\boot\bcd" /set {default} DisableBootDisplay True >nul
    if /i "%BootPartition%" == "Yes" (
    if /i "%UEFI%" == "0" (
    if /i "%ModernUEFIBoot%" == "0" (
    if "U:\boot" not exist ( md "U:\boot" )
    if "U:\boot\bcd" not exist ( copy /y "%TARGET%\boot\bcd" "U:\boot\bcd" )
    bcdedit /store "U:\boot\bcd" /set {default} description "%Version%" >nul
    bcdedit /store "U:\boot\bcd" /set {default} device partition=%TARGET% >nul
    bcdedit /store "U:\boot\bcd" /set {default} path \windows\system32\winload.exe >nul
    bcdedit /store "U:\boot\bcd" /set {default} osdevice partition=%TARGET% >nul
    bcdedit /store "U:\boot\bcd" /set {default} systemroot \Windows >nul

    bcdedit /store "U:\boot\bcd" /deletevalue {default} winpe >nul
    bcdedit /store "U:\boot\bcd" /deletevalue {default} ems >nul
    bcdedit /store "U:\boot\bcd" /deletevalue {default} pae >nul
    bcdedit /store "U:\boot\bcd" /deletevalue {default} detecthal >nul

    bcdedit /store "U:\boot\bcd" /set {default} nointegritychecks yes >nul
    bcdedit /store "U:\boot\bcd" /set {default} integrityservices disable >nul
    bcdedit /store "U:\boot\bcd" /set {default} loadoptions DISABLE_INTEGRITY_CHECKS >nul

    bcdedit /store "U:\boot\bcd" /set {default} quietboot on >nul
    )
    ) else (
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} path \windows\system32\winload.efi >nul
    rem bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} novesa on >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} quietboot on >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} bootlog yes >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} bootstatuspolicy IgnoreAllFailures >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} nx OptIn >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} device partition=%TARGET% >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} osdevice partition=%TARGET% >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} systemroot \Windows >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} nointegritychecks yes >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} description "%Version%" >nul

    REM Enable debugging
    rem bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} debug on >nul
    rem bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} debugtype 1394 >nul
    rem bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} channel 10 >nul

    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /deletevalue {default} winpe >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /deletevalue {default} ems >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /deletevalue {default} pae >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /deletevalue {default} detecthal >nul

    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi >nul
    bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {bootmgr} device partition=U: >nul
    )
    )
    ) else (
    bcdedit /store "%TARGET%\boot\bcd" /delete {default} >nul
    )


    REM NTLDR option
    if exist "%TARGET%\Windows\system32\winload.exe" (
    bcdedit /store "%TARGET%\boot\bcd" /create {ntldr} /d "%Version% Legacy" >nul
    ) else (
    bcdedit /store "%TARGET%\boot\bcd" /create {ntldr} /d "%Version%" >nul
    )


    REM UEFI boot support
    rem if exist "%DRIVE%\sources\$OEM$\$$\system32\winload.efi" (

    REM Recreate partition for UEFI boot

    REM echo select disk %DID% > %DiskPartScript%
    REM echo create partition primary >> %DiskPartScript%
    REM echo active >> %DiskPartScript%
    REM echo format fs=fat32 quick >> %DiskPartScript%
    REM echo asign letter=U >> %DiskPartScript%
    REM "%WinDir%\System32\diskpart.exe" /s "%DiskPartScript%" >nul
    REM del /q /s %DiskPartScript% >nul


    REM md "U:\EFI\Boot"

    REM if exist "%TARGET%\Windows\SysWow64" (
    REM copy "%SystemDrive%\Windows\Boot\EFI\bootmgfw.efi" "U:\EFI\Boot\bootx64.efi"
    REM ) else (
    REM copy "%SystemDrive%\Windows\Boot\EFI\bootmgfw.efi" "U:\EFI\Boot\bootia32.efi"
    REM )

    REM md U:\EFI\Microsoft\Boot\Fonts
    REM xcopy "%DRIVE%\boot\fonts\*" "U:\boot\fonts\" /s /i /y

    REM copy /y "%TARGET%\boot\bcd" "U:\EFI\Microsoft\Boot\BCD"

    REM bcdedit /store "U:\EFI\Microsoft\Boot\BCD" /set {default} path \windows\system32\winload.efi

    rem )





    REM Disable integrity checks and allow unsigned drivers setup
    rem bcdedit /store "%TARGET%\boot\bcd" /set {bootmgr} loadoptions DDISABLE_INTEGRITY_CHECKS >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {bootmgr} loadoptions DISABLE_INTEGRITY_CHECKS >nul

    rem bcdedit /store "%TARGET%\boot\bcd" /set {bootmgr} integrityservices disable >nul

    bcdedit /store "%TARGET%\boot\bcd" /set {bootmgr} nointegritychecks yes >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {bootmgr} TESTSIGNING ON >nul

    bcdedit /store "%TARGET%\boot\bcd" /set {ntldr} device partition=%TARGET% >nul
    rem bcdedit /store "%TARGET%\boot\bcd" /set {ntldr} device boot >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {ntldr} path \ntldr >nul
    bcdedit /store "%TARGET%\boot\bcd" /displayorder {ntldr} /addlast >nul



    bcdedit /store "%TARGET%\boot\bcd" /timeout 5 >nul

    if /i "%BootPartition%" == "Yes" (

    if exist "%TARGET%\Windows\system32\winload.exe" (
    bcdedit /store "U:\boot\bcd" /create {ntldr} /d "%Version% Legacy" >nul
    ) else (
    bcdedit /store "U:\boot\bcd" /create {ntldr} /d "%Version%" >nul
    )
    bcdedit /store "U:\boot\bcd" /set {bootmgr} nointegritychecks yes >nul
    bcdedit /store "U:\boot\bcd" /set {ntldr} device partition=U: >nul
    bcdedit /store "U:\boot\bcd" /set {ntldr} path \ntldr >nul
    bcdedit /store "U:\boot\bcd" /displayorder {ntldr} /addlast >nul
    bcdedit /store "U:\boot\bcd" /timeout 5 >nul

    )
    EDIT: Don't use this code yet! This is incomplete, let me test further just in case!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...