[Tool] ConvertNT5SKUs - Convert Windows NT 5.x SKUs v3.0.0 (RC2)

Discussion in 'Windows XP / Older OS' started by example12345678912345678, Oct 31, 2021.

  1. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Finally, I found a patch to bypass catalog/signature error for x64.
    I made a quick test.
    VirtualBox_Windows XP x64_21_08_2023_21_43_06.png
    We can finally start to add Client-specific components and remove Server-specific tools for Server x64 to Client x64 conversions. :D
    @asdddsa101
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. asdddsa101

    asdddsa101 MDL Member

    Feb 11, 2021
    121
    41
    10
    #122 asdddsa101, Aug 22, 2023
    Last edited: Aug 22, 2023
    About porting Client-Specific Components to Server SKUs.
    Except installing some missing components via inf file. We also need to do the following.

    1. User Accounts Control Panel (nusrmgr.cpl)
    Code:
    copy /y nusrmgr.cpl "%WinDir%\System32\nusrmgr.cpl"
    copy /y wnusrmgr.cpl "%WinDir%\SysWOW64\nusrmgr.cpl"
    start /w regsvr32 /s "%WinDir%\System32\nusrmgr.cpl"
    start /w regsvr32 /s "%WinDir%\SysWOW64\nusrmgr.cpl"

    2. Windows Security Center Control Panel (wscui.cpl)
    Code:
    copy /y wscntfy.exe "%WinDir%\System32"
    copy /y wscsvc.dll "%WinDir%\System32"
    copy /y wscui.cpl "%WinDir%\System32"
    copy /y wschelp.chm "%WinDir%\Help"
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "Type" /t REG_DWORD /d "32" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "Start" /t REG_DWORD /d "2" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "ErrorControl" /t REG_DWORD /d "1" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "ImagePath" /t REG_EXPAND_SZ /d "%%SystemRoot%%\System32\svchost.exe -k netsvcs" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "DisplayName" /t REG_SZ /d "Security Center" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "DependOnService" /t REG_MULTI_SZ /d "RpcSs\0winmgmt" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "ObjectName" /t REG_SZ /d "LocalSystem" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /v "Description" /t REG_SZ /d "Monitor system security settings and configurations. (localized language is required here)" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc\Parameters" /v "ServiceDll" /t REG_EXPAND_SZ /d "%%SYSTEMROOT%%\system32\wscsvc.dll" /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc\Security" /v "Security" /t REG_BINARY /d "01001480900000009c000000140000003000000002001c000100000002801400ff010f00010100000000000100000000020060000400000000001400fd01020001010000000000051200000000001800ff010f0001020000000000052000000020020000000014008d01020001010000000000050b00000000001800fd01020001020000000000052000000023020000010100000000000512000000010100000000000512000000" /f
    for /f "tokens=3 delims= " %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost" /v "netsvcs"^|find /i "netsvcs"') do set "netsvcs=%%a"
    set "netsvcs=%netsvcs%\0wscsvc"
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost" /v "netsvcs" /t REG_MULTI_SZ /d "%netsvcs%" /f

    3. Network Setup Wizard
    Normal operation (hnetwiz.dll):
    Code:
    copy /y hnetwiz.dll "%WinDir%\System32"
    start /w regsvr32 /s "%WinDir%\System32\hnetwiz.dll"
    
    Some systems may be missing the following files, do the same operation as hnetwiz.dll:
    Code:
    hnetcfg.dll
    hnetmon.dll
    netsetup.cpl
    

    4. Help and Support Center
    Code:
    :: Additionally copy some missing chm files (maybe still incomplete)
    copy /y article.chm "%WinDir%\Help"
    copy /y cpanel.chm "%WinDir%\Help"
    copy /y cpanel.chq "%WinDir%\Help"
    copy /y dialer.chm "%WinDir%\Help"
    copy /y hs.chm "%WinDir%\Help"
    copy /y intellimirror.chm "%WinDir%\Help"
    copy /y network.chm "%WinDir%\Help"
    copy /y nofts.chm "%WinDir%\Help"
    copy /y ntchowto.chm "%WinDir%\Help"
    copy /y nusrmgr.chm "%WinDir%\Help"
    copy /y progman.cnt "%WinDir%\Help"
    copy /y progman.hlp "%WinDir%\Help"
    copy /y spad.chm "%WinDir%\Help"
    copy /y sr_ui.chm "%WinDir%\Help"
    copy /y sysrestore.chm "%WinDir%\Help"
    copy /y sysrestore.hlp "%WinDir%\Help"
    copy /y usercpl.chm "%WinDir%\Help"
    copy /y users.hlp "%WinDir%\Help"
    copy /y whatsnew.chm "%WinDir%\Help"
    
    :: For non-English systems. Prepare two folders in localized languages (Install the corresponding language pack on English XP x64, we need OfflineCache and PackageStore folders in "%WinDir%\PCHealth\HelpCtr\").
    rd /s /q "%WinDir%\PCHealth\HelpCtr\OfflineCache"
    rd /s /q "%WinDir%\PCHealth\HelpCtr\PackageStore"
    xcopy OfflineCache "%WinDir%\PCHealth\HelpCtr\OfflineCache" /CEIY
    xcopy PackageStore "%WinDir%\PCHealth\HelpCtr\PackageStore" /CEIY
    After that, the upper right corner of the "Help and Support Center" window will not display "Windows Server 2003 Standard/Enterprise", now is "Windows XP x64 Professional".

    5. Windows XP Tours
    Code:
    :: For non-English systems. Prepare a folder in localized languages (Install the corresponding language pack on English XP x64, we need Tours folder in "%WinDir%\Help").
    xcopy Tours "%WinDir%\Help\Tours" /CEIY
    copy /y tourstart.exe "%WinDir%\System32\tourstart.exe"
    copy /y wtourstart.exe "%WinDir%\SysWOW64\tourstart.exe"

    6. Need to add ...
     
  3. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    Bloating XP52 can be useful for some, bur for AMD64 there is an easy way to have all XP components... Just install XP64:D
     
  4. asdddsa101

    asdddsa101 MDL Member

    Feb 11, 2021
    121
    41
    10
    For non-English Windows XP x64 Edition. Adding MUI on the basis of the original English version is never as good as converting the localized Server 2003 R2 x64 SKU to Client.
    Some parts of the MUI are not translated. The compatibility of the kernel's native language is also better. So I'm still trying to figure out how to convert Server 2003 R2 x64 to XP x64 as flawlessly as possible.
     
  5. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    Still having the EN base makes the life way easier (even for plain XP 32) given it's way easier to get patches, updates and alike for the EN version.

    Not to mention that MS stupidly/incredibly localized some some users making a lot of scripts not working in localized versions.

    Compatibility to what? Obviously the EN version is more compatible, there can be corner cases, but I'm not aware of any.

    I understand the academical curiosity and I'm all in for experiments made for the sake of experimenting/learning, but just take it as is. What of the 1/2/3/4/5 features you ported has a practical use?

    Those are the things that normally you would remove from plain XP using nlite or alike...
     
  6. asdddsa101

    asdddsa101 MDL Member

    Feb 11, 2021
    121
    41
    10
    The first is that the system fonts are missing. This is not difficult, we can install it.
    Next is the command prompt. My native language is Simplified Chinese. The default codepage is chcp 936. After installing the MUI language pack on English XP x64. chcp 936 is still not available.
    The output containing Chinese is all garbled characters.(including cmd.exe, notepad.exe and more)
    "Advanced Boot Options" interface. After installing the MUI language pack on English XP x64, it is still English.
    Some parts of the system are not fully translated.

    NT5 has no practical use at present. Very few people use it. Anyone who can discuss it here is nothing more than a fan. Just for interesting or collection.

    People have different requirements. It is my desire to create a system with as full components as possible.
    Make the Server SKUs have the experience of the original XP as much as possible after conversion. The so-called authentic.
     
  7. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    Ok, that makes sense, obviously I can't be aware of quirks of any language.

    In my localization there are still untranslated things, but they are limited to the devices in the dev manager, and few other minor details that much people couldn't care less, o they don't notice at all.

    Who said that? I use 2003 (x86) ad my Directory Controller. It does all what I need in a vhdx which is 1/4 of the size of another OS, using less than 200MB o when even the smallest 2000 Server Core takes 600MB, let alone AMD64 flavors.

    XP/XP52/XP64 are still perfectly usable even for complex things, and I often boot them.

    That's for sure. I spent a good share of my time, and my skill trying to remove as much as cruft I can from any OS, to reduce the used resources and to reduce the attack surface, the so called functional :D
     
  8. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #128 example12345678912345678, Aug 22, 2023
    Last edited: Aug 22, 2023
    (OP)
    Very nice. :D
    Most of the actions can be done via text-mode setup. However regsvr32 processes needed to be run on layout.inf.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. un user

    un user MDL Member

    Jun 16, 2013
    157
    104
    10
    [QUOTE="acer-5100, post: 1802493], That's for sure. I spent a good share of my time, and my skill trying to remove as much as cruft I can from any OS, to reduce the used resources and to reduce the attack surface, the so called functional :D[/QUOTE]

    Me too, but i use Wes2009. I managed to get under 250mb and, to have an functional image without all useless garbage.
     
  10. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150

    Sure but in 250MB you get a thin client, which is good to RDP to another full featured machine and little more. A reasonably featured x86 WES installation leads to a 1.5GB wim, which translates to around 3.5GB taken once installed (if you install on a non LZX compressed filesystem)
     
  11. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Added the components you've said. :)
    VirtualBox_Windows XP_22_08_2023_15_47_27.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. un user

    un user MDL Member

    Jun 16, 2013
    157
    104
    10
    Yes, if you build with all dependencies selected. But, im my case, i have stripped all old and useless drivers, chm, hlp, inf, jpg, bmp, and so on. All infs have been cleaned, sp3.cab and driver.cab also + manny other components. I have greatly reduced the so called vector attack surface.
     
  13. ohault

    ohault MDL Member

    Dec 27, 2022
    192
    52
    10
    #133 ohault, Aug 31, 2023
    Last edited: Sep 1, 2023
    Converting directly from one edition to another has so many possibilities but also so constraints. I would suggest going back to the root with a structured top-down build process. I mean by firstly rebuilding a common root tree for all the binaries from which any editions could be generated. From there, the transformation from one edition to another could even be automated using build process definitions.
     
  14. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #134 example12345678912345678, Sep 1, 2023
    Last edited: Sep 9, 2023
    (OP)
    Man, there're many things left before releasing next build:
    1. Adding Media Center Edition for x64. I added codes for Tablet PC Edition for x64 Conversions, however it remain unused for now. Because I often get BSOD when I try to add it.
    2. Ability to combine Media Center Edition and Tablet PC Edition for both x86 and x64.
    3. I need to port the Media Center Edition and/on Tablet PC Edition installation to SYSOC.INF. Because when I use SVCPACK.INF + Batch file, command prompt is visible. Package installation will terminate if command prompt is closed manually.
    4. To remove Server-specific components on 3790 Client (both x86 and x64).
    5. To remove Client-Specific and add Server-specific components on 2600 Server.
    6. Fix OOBE when converted to a K/KN or N edition.
    7. Remove Windows Media Player when N edition is enabled on both 2195 and 3790. This will require to create new SYSSETUP.INF files.
    I can possibly add new here. If you have better ideas, tell me. :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    @asdddsa101
    Well, I tried to add some components to Windows XP Pro x64 converted from Server 2003 Standard x64. It mostly works. Tablet PC components works well while Media Center components en up with 0xc0000135. Installation was a pain since I had to switch in between ISO files and even \i386 and \amd64 folders.
    Windows Setup refers to IA64 version of Windows XP on Simplified Chinese version when converted.
    VirtualBox_Windows XP x64_05_09_2023_23_04_20.png VirtualBox_Windows XP x64_05_09_2023_23_28_56.png
    I can give you the edited files only if you want to check it out.
    Because it's prohibited to share modified ISOs on MDL.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. asdddsa101

    asdddsa101 MDL Member

    Feb 11, 2021
    121
    41
    10
    Thank you for your efforts.

    Yes. IA-64 is displayed only because the translation has not been updated, and it still uses the 64-bit version of the translation, not x64.

    But why use 2003 Standard, it's missing some services that prevent System Restore components from working properly. And something else was missing. Many components that are missing in the Standard version are available in the Enterprise version.
    So it is recommended to use the Enterprise version for conversion. :)
     
  17. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Well, the problem is I couldn't find Enterprise x64 ISO at the time. That's why I used Standard ISO, but now I found it. :)
    Also I don't know why is Enterprise Edition only available in VL version that required me to crack it before I could login.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #138 example12345678912345678, Nov 15, 2023
    Last edited: Nov 15, 2023
    (OP)
    Here is the latest status of the ConvertNT5SKUs.
    1. Partially done. No longer BSOD. However Media Center edition installation gives errors during the installation since the .NET Framework is incompatible.
    2. Partially done. Tablet PC Edition is installed without any problem. However, the Media Center Edition components give .NET Framework error.
    3. Partially done. MCE causes problems like I said in previous two.
    4. Not done yet. I need to get a list of Server-specific components.
    5. Not done yet. I need to get a list of Server-specific components for this too.
    6. Not done or tested yet. But it might not require any additions.
    7. Done.
    VirtualBox_Windows XP_14_11_2023_18_18_53.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #139 example12345678912345678, Dec 14, 2023
    Last edited: Mar 14, 2024
    (OP)
    I've uploaded a private version of ConvertNT5SKUs for testing purposes only.
    PM me to request the download link, and please don't leak it.
    Here is current list of improvements:
    1. Ported Media Center and Tablet PC Edition conversions from batch to SYSOC.INF and SYSSETUP.INF.
    2. x64 conversions should no longer have Activation problems.
    3. In x86 Server to Client conversions, OOBE is no longer broken.
    4. Changed output ISO filename to include build number.
    5. Renaming ISOs to Base.iso and Target.iso is no longer required. Script will ask the ISO filenames. Make sure to include extension when Unattended mode is off.
    6. Added K, KN and N edition support for Windows 2000 and x64 conversions.
    7. Added Client components for Server to Client conversions.
    8. 2600 Server editions are a little bit more stable.
    9. It is now possible to combine Tablet PC and Media Center Editions on x86.
    10. Tablet PC components work on x64.
    11. Added support for Windows Powered.
    12. Fixed minor and major bugs.
    13. Added unattended mode. It is no longer required to enter ISO filenames. Simply create a filename named Unattend.ini file in that format:
    Code:
    Base=D:\ja_win_srv_2003_r2_datacenter_x64_with_sp2_vl_disc1_dvd_x13-66824.iso
    Goal=D:\jp_win_xp_pro_x64_sp2_vl.iso
    Replace the strings with actual full path of the ISO.
    14. It is now possible to convert Client SKUs to Server SKUs for x64.
    15. Sounds and channels.scf files are now copied on non-English ISOs.
    16. Non-English ISOs no longer have half-English Setup.
    17. Media Center components work on x64 if a compatible driver is installed.
    Special thanks to @MilkChan, @asdddsa101
    Will update as soon as I add.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #140 example12345678912345678, Dec 17, 2023
    Last edited: Dec 24, 2023
    (OP)
    Fixing the sounds and channels.scf is going to be harder than I thought.
    Here is the current results:
    Code:
    hu - Done!
    cs - Done!
    pl - Done!
    ru - Done!
    fr - Done!
    de - Done!
    nl - Done!
    pt-br - Done!
    pt-pt - Done!
    es - Done!
    el - Done!
    tr - Done!
    da - Done!
    fi - Done!
    no - Done!
    sv - Done!
    it - Done!
    zh - Done!
    ko - Done!
    jp - Done!
    
    Some languages such as Greek or Turkish remain question marks and these either cause boot error (INF line invalid error) or setup cannot copy files.
    And no, I tried UTF-8 and got TXTSETUP.SIF Line 1 is invalid error instead.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...