MSMG ToolKit

Discussion in 'MDL Projects and Applications' started by MSMG, Nov 21, 2013.

  1. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    Yes you can run it.

     
  2. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    #19642 MSMG, Jun 15, 2021
    Last edited: Jun 15, 2021
    (OP)
    The feature to add new icons is already added for next release.

    Code:
    ===============================================================================
                MSMG ToolKit - Integrate Windows Icons Skin
    ===============================================================================
    
    -------------------------------------------------------------------------------
    ####Starting Integrating Windows Icons Skin####################################
    -------------------------------------------------------------------------------
    
        Image                    : Install.wim
        Image Index              : 1
        Image Architecture       : x64
        Image Version            : 10.0.19043.1052.0
    
    -------------------------------------------------------------------------------
    ####Integrating Windows Windows Icons Skin#####################################
    -------------------------------------------------------------------------------
    
    ===========================[Install.wim, Index : 1]============================
    
    Copying Windows Icons files to Temporary Folder...
    
    Applying Windows Icons Skin to [imageres.dll.mun] file...
    
    Applying Windows Icons Skin to [imagesp1.dll.mun] file...
    
    Applying Windows Icons Skin to [shell32.dll.mun] file...
    
    Applying Windows Icons Skin to [zipfldr.dll.mun] file...
    
    Copying Patched Windows Icons files...
    
    -------------------------------------------------------------------------------
    ####Finished Integrating Windows Icons Skin####################################
    -------------------------------------------------------------------------------
    
    ===============================================================================
    
    Press any key to continue . . .
    
    Edit: It's available now, check the Toolkit.cmd and <Packs\Skins\Icons> at download link.

     
  3. Feartamixg

    Feartamixg MDL Addicted

    Joined:
    May 15, 2016
    Messages:
    555
    Likes Received:
    423
    Trophy Points:
    30
  4. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    About the packageindex variable:

    There is no PackageIndex= set to arm. Only for arm64 in win32calc session which has the value "PackageIndex=3" for arm64

    Having said that, that's why I had put an arm with the value "PackageIndex=4"

    I had placed it in the order below for easy viewing.

    Code:
    if "%ImageArchitecture%" equ "arm64" (
       set "PackageIndex=3"
       set "PackageArchitecture=arm64"
    )
    if "%ImageArchitecture%" equ "arm" (
       set "PackageIndex=4"
       set "PackageArchitecture=arm"
    )
    
    The fact is that I put the value for arm, just to make it ready, because at the moment there is no use.
     
  5. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    The arm is already there for Windows 8.1 ARM images and the order should be 3 for ARM and 4 for ARM64 but again right now for both the architecture there's no pack made, so it's left out.

     
  6. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    Will this not interfere with the win32calc pack?

    other one:
    After the else there is a condition that is not necessary, but it doesn't do any harm either.
    from
    Code:
    if "%SelectedSourceOS%" equ "w10" (
       if exist "%DVD%\sources\sxs\*.cab" (
           if "%ImageBuild%" leq "16299" set "NetFX35=%DVD%\sources\sxs\microsoft-windows-netfx3-ondemand-package.cab"
           if "%ImageBuild%" geq "17134" set "NetFX35=%DVD%\sources\sxs\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~%PackageArchitecture%~~.cab"
       ) else (
           if "%SelectedSourceOS%" equ "w10" set "NetFX35=%NetFX35%\%SelectedSourceOS%\%PackageVersion%\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~%PackageArchitecture%~~%PackageVersion%.%PackageServicePackBuild%.cab"
       )
    )
    
    to
    Code:
    if "%SelectedSourceOS%" equ "w10" (
       if exist "%DVD%\sources\sxs\*.cab" (
           if "%ImageBuild%" leq "16299" set "NetFX35=%DVD%\sources\sxs\microsoft-windows-netfx3-ondemand-package.cab"
           if "%ImageBuild%" geq "17134" set "NetFX35=%DVD%\sources\sxs\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~%PackageArchitecture%~~.cab"
       ) else (
           set "NetFX35=%NetFX35%\%SelectedSourceOS%\%PackageVersion%\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~%PackageArchitecture%~~%PackageVersion%.%PackageServicePackBuild%.cab"
       )
    )
    
    if exist "%DVD%\sources\EI.CFG" del /f /q "%DVD%\sources\EI.cfg" >nul
    could be
    call :RemoveFile "%DVD%\sources\EI.cfg" >nul

    Taking advantage of the function :RemoveFile already checks if the file exists or not. But also, you wouldn't even need this line since >"%DVD%\sources\EI.cfg" will create the file if it doesn't exist and overwrite the contents of the file if it does exist.
     
  7. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    Another possible optimization:

    from:
    Code:
    if "%SelectedSourceOS%" equ "w10" (
       if "%ImageBuild%" equ "14393" set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.14393.0.cab"
       if "%ImageBuild%" equ "14393" set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.14393.0.cab"
       if "%ImageBuild%" equ "15063" set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.14393.0.cab"
       if "%ImageBuild%" equ "15063" set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.14393.0.cab"
       if "%ImageBuild%" equ "16299" set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.16299.15.cab"
       if "%ImageBuild%" equ "16299" set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.16299.15.cab"
       if "%ImageBuild%" equ "17134" set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.16299.15.cab"
       if "%ImageBuild%" equ "17134" set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.16299.15.cab"
       if "%ImageBuild%" equ "17763" set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.16299.15.cab"
       if "%ImageBuild%" equ "17763" set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.16299.15.cab"
    )
    
    to
    Code:
    if "%SelectedSourceOS%" equ "w10" (
       if "%ImageBuild%" geq "14393" if "%ImageBuild%" leq "17763" (
           set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~%PackageVersion%.%PackageServicePackBuild%.cab"
           set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~%PackageVersion%.%PackageServicePackBuild%.cab"
       )
    )
    
     
  8. ingviowarr

    ingviowarr MDL Senior Member

    Joined:
    Dec 14, 2009
    Messages:
    314
    Likes Received:
    270
    Trophy Points:
    10
    #19649 ingviowarr, Jun 15, 2021
    Last edited: Jun 15, 2021
    @RaiyvaN , @MSMG
    I can suggest .NET 4.8 cab (by @abbodi1406) from main OP for LTSC is not compatible with MSMG Toolkit just because of unsuitable filename (Windows10.0-KB4486153-x64.cab)?
    Not because of file content? Or it depends on cab for Toolkit vs DISM method?

    I have made a noticement for myself (about this OP & MSMG Toolkit):
    • MSU .................................... OK
    • CAB (by MSMG repo) ......... OK
    • CAB (by M$ catalog) ........... OK
    • CAB (by @abbodi1406) ...... NOT COMPATIBLE!
     
  9. Feartamixg

    Feartamixg MDL Addicted

    Joined:
    May 15, 2016
    Messages:
    555
    Likes Received:
    423
    Trophy Points:
    30
    Apologies for my misunderstanding - thought you wanted me to try Win32Calculator with and without cleanup to see which worked. I now know that you just wanted SFC log results to compare.

    Just for the sake of comparison, tried with and without clean up of image folder.

    Both ISOs with and without cleanup of image folder (5 > 2 > Y/N) produces no errors when running SFC /SCANNOW, however some errors show in the CBS logs which I have attached.

    CBS 1 is 5 > 2 > Y test image
    CBS 2 is 5 > 2 > N test image
     

    Attached Files:

  10. Tiger-1

    Tiger-1 MDL Guru

    Joined:
    Oct 18, 2014
    Messages:
    6,206
    Likes Received:
    7,532
    Trophy Points:
    210
    #19651 Tiger-1, Jun 16, 2021
    Last edited: Jun 16, 2021
    @MSMG well finished doing my work using the new and fantastic version of Toolkit 11.6 and for this I also used the new ISO of Windows 11 version Pro en-US x64 (with "only 11 versions inside in ISO" but using my criteria to work with Toolkit for example did not remove anything from the operating system or practically my new Windows is intact in its structure; to be clearer only I used the custom and necessary customizations I applied the modifications made, I did the conversion of install.wim to install.esd this way I got an ISO with only 3.2 GB and finally I should install new Windows 11 this morning remembering that I hope to be lucky with the drivers is all or nothing !!! and after the system installed and working I must use the sfc command to verify there is a more serious problem and from there is that I go into action with what I learned after much study and research to get clearer: I must disable tons of "things" that I think of useless to my view and several modifications that for now it is best not to publish anything until I can check if the system is stable and reliable of course finalizing tomorrow I should give my opinion about it ...
    Edit: This PC does not meet the minimal conditions for the system to be installed so go back to old but reliable W10LTSC 2019 ;):(
     
  11. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    Typo:

    Captrue Picker
    to
    Capture Picker
     
  12. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    With the current Win32Calc pack there's no arm64 files for Win32Calc.

    Fixed the .NETFX35 extra condition.

     
  13. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    NetFX48 %PackageVersion%.%PackageServicePackBuild% is not same for 14393 and 16299.

    You can reduce it like this

    Code:
    if "%SelectedSourceOS%" equ "w10" (
       if "%ImageBuild%" geq "14393" if "%ImageBuild%" leq "15063" (
          set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.14393.0.cab"
          set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.14393.0.cab"
       )
    
       if "%ImageBuild%" geq "16299" if "%ImageBuild%" leq "17763" (
          set "NetFX48Pkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~~10.0.16299.15.cab"
          set "NetFX48LpPkg=Microsoft-Windows-NetFX48-Package~31bf3856ad364e35~%PackageArchitecture%~%ImageDefaultLanguage%~10.0.16299.15.cab"
       )
    )
    
     
  14. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    Thanks for testing, will check with your list of components removed.

     
  15. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
  16. rorewe4314

    rorewe4314 MDL Junior Member

    Joined:
    Jun 18, 2020
    Messages:
    70
    Likes Received:
    17
    Trophy Points:
    0
    Code:
    DisableDriversUpdates
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\Device Metadata" /v "PreventDeviceMetadataFromNetwork" /t REG_DWORD /d "1" /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v "DontPromptForWindowsUpdate" /t REG_DWORD /d "1" /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v "DontSearchWindowsUpdate" /t REG_DWORD /d "1" /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v "DriverUpdateWizardWuSearchEnabled" /t REG_DWORD /d "0" /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v "SearchOrderConfig" /t REG_DWORD /d "1" /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "ExcludeWUDriversInQualityUpdate" /t REG_DWORD /d "1" /f >nul
    MSMG, Are these settings related to updating Windows (I mean, are drivers downloaded using this method or is there some other method)?
     
  17. MSMG

    MSMG MDL Developer

    Joined:
    Jul 15, 2011
    Messages:
    5,430
    Likes Received:
    11,396
    Trophy Points:
    180
    The settings are used to get the device driver info and download driver files from Windows Update.

     
  18. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    No. Not the same, My bad. I thought that as the values are defined there at the beginning of the toolkit it could be done like this.
    So, for this specific pack it won't work because of using the same pack for many builds. Now, yes... I saw this grotesque detail that I let slip, hehehe

    Understood. I was confused by this because in the :IntWin32Calc session there was:
    Code:
    :: Setting Package Index and Architecture
    if "%ImageArchitecture%" equ "x86" set "PackageIndex=1"
    if "%ImageArchitecture%" equ "x64" set "PackageIndex=2"
    if "%ImageArchitecture%" equ "arm64" set "PackageIndex=3"
    
     
  19. RaiyvaN

    RaiyvaN MDL Senior Member

    Joined:
    Sep 23, 2009
    Messages:
    302
    Likes Received:
    347
    Trophy Points:
    10
    It escapes my knowledge a little. I learned how to deal with bug hunting and code optimization, but with regards to windows related details, I first learned the paths and logic for managing images, so I know more about removal, tweaks and menu customizations.

    About data capture and integration of anything and, properly about the packages, I still have to study a lot, so I only keep what MSMG develops and help suggesting the optimizations if I see something interesting to be done.

    Therefore, we have to wait for the MSMG to comment on it.