1. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,386
    60
    #19521 inTerActionVRI, Jun 8, 2021
    Last edited: Jun 8, 2021
    Code:
    @echo off
    
    COLOR 1F
    TITLE Clean up script
    CLS
    
    echo "%~dp0%" | findstr "(" >nul 2>&1
    if "%ERRORLEVEL%"=="0" set incorrectPath=1
    echo "%~dp0%" | findstr ")" >nul 2>&1
    if "%ERRORLEVEL%"=="0" set incorrectPath=1
    
    if defined incorrectPath (
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Please copy and run script from Desktop or another directory!
    ECHO ================================================================
    ECHO.
    PAUSE >NUL
    goto end
    )
    
    :: Setting Tools environment path variables
    If exist "%WinDir%\SysWOW64" (
    SET "Arch=x64"
    SET "PF=%ProgramFiles(x86)%"
    ) else (
    SET "Arch=x86"
    SET "PF=%ProgramFiles%"
    )
    
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Unmounting mounted registry keys...
    ECHO ================================================================
    timeout /t 5 /NOBREAK >nul
    reg Unload HKLM\TK_COMPONENTS >nul 2>&1
    reg unload HKLM\TK_DEFAULT >nul 2>&1
    reg unload HKLM\TK_NTUSER >nul 2>&1
    reg unload HKLM\TK_SOFTWARE >nul 2>&1
    reg unload HKLM\TK_SYSTEM >nul 2>&1
    ECHO.
    ECHO Done!
    ECHO.
    
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Unmounting mounted images...
    ECHO ================================================================
    ECHO.
    for /L %%i in (1, 1, 8) do (
    if exist "%~dp0mount\%%i\Windows\explorer.exe" (
    "%~dp0tools\%Arch%\DISM\dism.exe" /Unmount-Wim /MountDir:"%~dp0Mount\%%i\WinRE" /Discard
    "%~dp0tools\%Arch%\DISM\dism.exe" /Unmount-Wim /MountDir:"%~dp0mount\%%i" /Discard
    )
    )
    
    "%~dp0tools\%Arch%\DISM\dism.exe" /Cleanup-Mountpoints
    
    for /L %%i in (1, 1, 8) do (
    rd /s /q "%~dp0Mount\%%i\WinRE" >nul 2>&1
    rd /s /q "%~dp0mount\%%i" >nul 2>&1
    )
    
    ECHO.
    ECHO.
    ECHO All done!
    ECHO.
    
    I made some small changes in the part of the ProgramFiles and at the beginning, if the value 1 is set, the variable will be defined, so it will go to the end.
    I made the assumption that there is an index number for each mount point. So %%i were missing from the mount paths for "for" to run correctly.

    Note: maybe the registry unmount has to be inside the for loop for each index too.

    Code:
    @echo off
    
    COLOR 1F
    TITLE Clean up script
    CLS
    
    echo "%~dp0%" | findstr "(" >nul 2>&1
    if "%ERRORLEVEL%"=="0" set incorrectPath=1
    echo "%~dp0%" | findstr ")" >nul 2>&1
    if "%ERRORLEVEL%"=="0" set incorrectPath=1
    
    if defined incorrectPath (
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Please copy and run script from Desktop or another directory!
    ECHO ================================================================
    ECHO.
    PAUSE >NUL
    goto end
    )
    
    :: Setting Tools environment path variables
    If exist "%WinDir%\SysWOW64" (
    SET "Arch=x64"
    SET "PF=%ProgramFiles(x86)%"
    ) else (
    SET "Arch=x86"
    SET "PF=%ProgramFiles%"
    )
    
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Unmounting mounted images...
    ECHO ================================================================
    ECHO.
    for /L %%i in (1, 1, 8) do (
    if exist "%~dp0mount\%%i\Windows\explorer.exe" (
    call :UnmountRegistry
    "%~dp0tools\%Arch%\DISM\dism.exe" /Unmount-Wim /MountDir:"%~dp0Mount\%%i\WinRE" /Discard
    "%~dp0tools\%Arch%\DISM\dism.exe" /Unmount-Wim /MountDir:"%~dp0mount\%%i" /Discard
    )
    )
    
    "%~dp0tools\%Arch%\DISM\dism.exe" /Cleanup-Mountpoints
    
    for /L %%i in (1, 1, 8) do (
    rd /s /q "%~dp0Mount\%%i\WinRE" >nul 2>&1
    rd /s /q "%~dp0mount\%%i" >nul 2>&1
    )
    
    ECHO.
    ECHO.
    ECHO All done!
    ECHO.
    
    :UnmountRegistry
    ECHO.
    ECHO.
    ECHO ================================================================
    ECHO Unmounting mounted registry keys...
    ECHO ================================================================
    timeout /t 5 /NOBREAK >nul
    reg Unload HKLM\TK_COMPONENTS >nul 2>&1
    reg unload HKLM\TK_DEFAULT >nul 2>&1
    reg unload HKLM\TK_NTUSER >nul 2>&1
    reg unload HKLM\TK_SOFTWARE >nul 2>&1
    reg unload HKLM\TK_SYSTEM >nul 2>&1
    ECHO.
    ECHO Done!
    ECHO.
    goto :EOF
    
     
  2. Caleb28

    Caleb28 MDL Novice

    Dec 7, 2019
    22
    4
    0
    #19522 Caleb28, Jun 8, 2021
    Last edited: Jun 8, 2021
    Hi. I just purchased Windows 10 Pro and may move to it from Win 8.1 Pro and have been trying to research MSMG Toolkit as much as possible but am still confused and have questions:

    1) I don't mean to offend anyone - especially the MSMG Toolkit's creator - and I understand the creator is quite trusted but is it possible for the MSMG Toolkit to contain / add / inject any type of malware, keyloggers, spyware, trojans, etc.? Is MSMG open-source and have people checked the coding to make sure it doesn't do anything to the PC, to the custom-created / edited Windows 10 ISO it creates, etc. which can compromise security and/or privacy? I don't want to risk downloading someone else's custom created ISO (regardless how trusted the ISO's creator may be) but that then got me thinking, is using the MSMG Toolkit myself to create my own ISO really any different???...

    2) I tried MSMG Toolkit and the default Windows ISO is around 4 GB but the custom one that MSMG created was around 8 GB. If all I did was remove things from the default Windows ISO, shouldn't the custom one be even smaller than the default and not larger (let alone around 2x as large)?

    3) Can I use the default Win 10 ISO for the install, fully install all drivers (chipset, IMEI, audio, ethernet, graphics, etc.), fully update Win 10, and then get rid of all the Win 10 bloat which can affect things like security, privacy, CPU usage, RAM usage, etc. via registry-edits, script-running, removing apps, disabling services, and using programs (eg. O&O ShutUp10, WPD, Blackbird, etc.)? Or does MSMG Toolkit remove / disable / block things that cannot be otherwise removed / disabled / blocked on an already installed Win 10 setup using those other listed methods?
     
  3. Supern00b

    Supern00b MDL Addicted

    Dec 30, 2010
    728
    540
    30
    I'll give it a shot, surely others can give a more complete and/or correct answer.
    1) The cmd script is plain text, the toolkit helper itself is not open source (which is completely understandable). But If MSMG would want to distribute any kind of malware, easier methods would be available to do just that.
    I have been building images with MSMG toolkit for quite some time and have never found any suspicious files or activity.

    2) Maybe you forgot to cleanup and rebuild the image. That step is really necessary. It's in one of the menu's. Please refer to the readme file.

    3) MSMG is not a privacy tool in itself. You can remove or ad some packages, but there is no special focus on privacy. To achieve that, you can indeed run some tools like O&O shutup10 or the likes after deployment.
    Some users have posted customized scripts to do that.
    So, the first part of your third question is affirmative.

    Cheers.
     
  4. sergey130270

    sergey130270 MDL Member

    May 15, 2014
    190
    76
    10
    ================================================================
    Unmounting mounted registry keys...
    ================================================================

    Done!
    Режим вывода команд на экран (ECHO) отключен.


    ================================================================
    Unmounting mounted images...
    ================================================================

    Deployment Image Servicing and Management tool
    Version: 10.0.20339.2

    Image File : C:\Win\Integrator10\DVD\sources\boot.wim
    Image Index : 1
    Unmounting image
    [==========================100.0%==========================]

    Error: 0xc1420117

    The directory could not be completely unmounted. This is usually due to applications that still have files opened within the mount directory. Close these files and unmount again to complete the unmount process.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Deployment Image Servicing and Management tool
    Version: 10.0.20339.2

    Image File : C:\Win\Integrator10\DVD\sources\boot.wim
    Image Index : 1
    Unmounting image
    [==========================100.0%==========================]

    Error: 0xc1420117

    The directory could not be completely unmounted. This is usually due to applications that still have files opened within the mount directory. Close these files and unmount again to complete the unmount process.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Deployment Image Servicing and Management tool
    Version: 10.0.20339.2

    Cleaning up image
    Unmounting image at C:\Win\Integrator10\Mount
    [==========================100.0%==========================]
    Scanning drive C for stale files
    Scanning drive D for stale files
    Scanning drive E for stale files
    Scanning drive F for stale files
    Scanning drive G for stale files
    The operation completed successfully.
     
  5. ezgera

    ezgera MDL Novice

    Dec 25, 2019
    36
    2
    0
    hello people,
    does any / latest versions include V1709 removal tool and options yet ?
     
  6. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    Yes I have uploaded them but without the new Toolkit.cmd you can't use it to integrate the games since the image indexes do change in the pack.

     
  7. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    For Extracting drivers from system the standard DISM command

    Code:
    DISM /Online /Export-Driver /Destination:<Drivers-Folder>
    
    For importing drivers into the image the standard DISM command

    Code:
    DISM /Image /Add-Driver /Driver:<Drivers-Folder> /Recurse
    
    For built-in drivers you may need to manually search and copy the related files and then import them.

     
  8. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    Instead of adding the code in every features integration functions, I moved the code to Select source from DVD function so that while mounting the image the PackageVersion, PackageBuild, PackageServicePackBuild, PackageArchitecture is defined only once.


     
  9. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    If the script was terminated while integrating any packages, the DISM mounted image registry hives need to be unmounted before trying to unmount the image.

    DISM mounted image registry hives are different from HKLM\TK_COMPONENTS, HKLM\TK_SOFTWARE, HKLM\TK_SYSTEM.

    Usually the DISM uses the full file path of the registry hive as the registry hive name, you can check the HKLM registry hive for the list of mounted.

     
  10. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    Thanks for trying The Toolkit.

    1) The main Toolkit script is open sourced, but it's sub-tools like component remover is closed source. The Toolkit files and it's add-on feature packs are free from malware, keyloggers, spyware or any virus.

    Due to the code protection added to the component remover program many Antivirus programs may flag the Toolkit's component remover program as virus or trojan, don't worry this is just false positive sign.

    You can install and monitor the Toolkit created image on Virtual PC like Hyper-V/VMware/VirtualBox for any suspicious activity and then decide whether to deploy the image to your main PC.

    2) Make sure you are using the latest version of Toolkit and also delete other indexes present in the image to get real image size.

    3) The Toolkit only supports offline images and yes you can integrate the drivers and updates to the image before removing the components.

    For component removal you may need to integrate the cumulative update specified in the changelog.

    Note: Starting from Windows 10 v1903 onwards, the Microsoft implemented new update package format due to which the removed components will return when the system is updated either through Windows update or manual update install using .msu or .cab file. Only the Windows Apps component is not affected by this issue.


     
  11. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    No.

     
  12. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,386
    60
    Yes, I thought so too. It was one of the Custom 11.4 mods. But to help on this occasion it had to be added in the specific section. We are in sync :rolleyes::D
     
  13. sergey130270

    sergey130270 MDL Member

    May 15, 2014
    190
    76
    10
    #19534 sergey130270, Jun 8, 2021
    Last edited: Jun 8, 2021
    THANK YOU
    Hello dear! I have the HKLM registry hives for a list of connected ones like this:
    %~dp0tools\Mount\Windows\System32\config\COMPONENTS
    %~dp0tools\Mount\Windows\System32\config\DEFAULT
    %~dp0tools\Mount\Windows\System32\config\DRIVERS
    %~dp0tools\Mount\Windows\System32\config\SAM
    %~dp0tools\Mount\Windows\System32\config\SECURITY
    %~dp0tools\Mount\Windows\System32\config\SOFTWARE
    %~dp0tools\Mount\Windows\System32\config\SYSTEM
    %~dp0tools\Mount\Users\Default\NTUSER

    Help me please.
    I am very ashamed for begging, but this is the only site where I can really get a lot of help from you. Excuse me, please.
     
  14. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,411
    15,486
    210
    No usually the DISM will mount the required registry while integrating packages by using the registry hive file path as the registry hive mount name.

    E.g:

    c://windows//system32//config//components
    or
    c:\\windows\\system32\\config\\components
    or
    c:\\toolkit\\mount\windows\\system32\config\\components

    You need to identify the registry hives and unmount them, one method is to manually do it or use a search query for HKLM to detect list of keys using reg query HKLM command and then skip the default entries and then unmount the remaining entries.

    The default entries to be excluded are

    HKEY_LOCAL_MACHINE\HARDWARE
    HKEY_LOCAL_MACHINE\SAM
    HKEY_LOCAL_MACHINE\SECURITY
    HKEY_LOCAL_MACHINE\SOFTWARE
    HKEY_LOCAL_MACHINE\SYSTEM

     
  15. Feartamixg

    Feartamixg MDL Addicted

    May 15, 2016
    767
    616
    30

    Attached Files:

  16. Supern00b

    Supern00b MDL Addicted

    Dec 30, 2010
    728
    540
    30
    From the logs you posted, it seems you have the same duplicate permission entries as I previously posted.
    In that regard, I think @MSMG will update the packs to avoid such warnings in the future.
    Otherwise your logs are clean, it doesn't seem to be a critical issue.

    Cheers.
     
  17. graver.x

    graver.x MDL Senior Member

    Jan 18, 2020
    342
    476
    10
    #19538 graver.x, Jun 9, 2021
    Last edited: Jun 9, 2021
    Cleanup (5 > 1)

    README.txt:

    Windows 10 v2004/v20H2/v21H1 Client/Server Usage Order:

    [K] - Cleanup the Source Image using [Apply->Cleanup Source Images] menu.

    Note: Not recommneded to use due to SFC bug with recent Latest Cumulative Updates (LCU).
     
  18. Supern00b

    Supern00b MDL Addicted

    Dec 30, 2010
    728
    540
    30
    Does not apply, uupdump is clean.
    He has duplicate permission entries because of the pack he integrated.

    Cheers.
     
  19. graver.x

    graver.x MDL Senior Member

    Jan 18, 2020
    342
    476
    10
    I haven't looked at CBS. log, but I know for sure that if Cleanup (5 > 1) is executed, there will be an SFC error.

    Feartamixg indicated that Cleanup (5 > 1) was performed.