I reduced to just one option in the source menu. However I automated the choice detecting whether ESD is encrypted or not. Based on the abbodi code. Code: set "EsdDecrypter=%Bin%\esddecrypt.exe" rem set "W81EsdDecrypter=%Bin%\esddecrypt.exe" rem set "W10EsdDecrypter=%Bin%\Dism++CUI.exe /ESDFile" Code: rem echo.Dism++CUI.exe = %W10EsdDecrypter% rem echo.EsdDecrypt.exe = %W81EsdDecrypter% echo.EsdDecrypt.exe = %EsdDecrypter% Code: echo. [1] Select Source from ^<DVD^> Folder echo. echo. [2] Copy Source from DVD Drive echo. echo. [3] Extract Source from DVD ISO Image echo. echo. [4] Extract Source from OEM IMG Image echo. echo. [5] Extract Source Install Image from .ESD to .WIM echo. echo. echo. echo. echo. echo. echo. [X] Go Back echo. echo.=============================================================================== echo. choice /C:12345X /N /M "Enter Your Choice : " if errorlevel 6 goto :MainMenu if errorlevel 5 goto :ExtractSourceESD2WIM if errorlevel 4 goto :ExtractSourceIMG if errorlevel 3 goto :ExtractSourceISO if errorlevel 2 goto :CopySourceDVD if errorlevel 1 goto :SelectSourceDVD ::------------------------------------------------------------------------------------------- Code: ::------------------------------------------------------------------------------------------- :: MSMG Toolkit - Extract Source Install Image from .ESD to .WIM ::------------------------------------------------------------------------------------------- :ExtractSourceESD2WIM setlocal cls echo.=============================================================================== echo. MSMG Toolkit - Extract Source Install Image from .ESD to .WIM echo.=============================================================================== echo. :: Checking whether Windows Source DVD folder is empty if not exist "%InstallEsd%" ( echo.Can't find "install.esd" Image file in ^<%DVD%\Sources^> folder. echo. echo.Please copy "install.esd" Image file to ^<%DVD%\Sources^> folder... goto :Stop ) if exist "%InstallEsd%" call :GetImageCount "%InstallEsd%" >nul if %ImageCount% lss 4 if exist "%BootWim%" ( echo. echo.ESD file contain less than 4 Image Editions. echo. goto :ExtractSourceESD ) if %ImageCount% geq 4 ( "%WimlibImagex%" info "%InstallEsd%" 4 >nul 2>&1 set /A TemporaryErrorLevel=%ErrorLevel% echo.Temporary ErrorLevel : !TemporaryErrorLevel! echo. if !TemporaryErrorLevel! equ 74 ( goto :ConvertSourceStoreESD ) if exist "%BootWim%" ( if !TemporaryErrorLevel! equ 18 goto :ConvertSourceESD if !TemporaryErrorLevel! equ 0 goto :ConvertSourceESD ) rem if !TemporaryErrorLevel! neq 0 if !TemporaryErrorLevel! neq 18 ( rem echo. rem echo.ESD file is damaged, blocked or not found. rem echo. rem ) rem goto :Stop ) echo. echo.ESD file is damaged, blocked or not found. echo. :Stop echo. echo.=============================================================================== echo. endlocal if "%IsSourceSelected%" equ "No" ( set ImageCount= ) pause :: Returning to Source Menu goto :SourceMenu ::------------------------------------------------------------------------------------------- ::------------------------------------------------------------------------------------------- :: MSMG Toolkit - Extract Source from Store ESD Image ::------------------------------------------------------------------------------------------- :ExtractSourceStoreESD set ImageBuild= cls echo.=============================================================================== echo. MSMG ToolKit - Extract Source from Store ESD Image echo.=============================================================================== echo. echo.------------------------------------------------------------------------------- echo.####Starting Extracting Source from Store ESD Image############################ echo.------------------------------------------------------------------------------- echo. echo.Reading Image Information... echo. echo.=============================================================================== echo.^|Index^| Arch ^| Name echo.=============================================================================== for /f "tokens=2 delims=: " %%a in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" ^| findstr Index') do ( for /f "tokens=2 delims=:" %%b in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" /Index:%%a ^| findstr /i Architecture') do ( for /f "tokens=2 delims=: " %%c in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" /Index:%%a ^| findstr /i Name') do ( if %%a equ 1 echo.^| %%a ^| - ^|%%c if %%a gtr 1 if %%a leq 9 echo.^| %%a ^|%%b ^|%%c if %%a gtr 9 echo.^| %%a ^|%%b ^|%%c ) ) ) echo.=============================================================================== echo. :: Finding total no of indexes present inside the ESD Image call :GetImageCount "%InstallEsd%" if %ImageCount% equ 4 set ImageIndexNo=4 if %ImageCount% gtr 4 ( :: Getting Image Index Number to Service set /p ImageIndexNo=Enter the Image Index # [Range : 4,...%ImageCount%, 'A'll, 'Q'uit] : :: Checking for Image Index Validation if not defined ImageIndexNo ( echo. echo.Invalid Index # Entered, Valid Range is [4,...%ImageCount%, 'A'll, 'Q'uit] echo. pause goto :ExtractSourceStoreESD ) if /i "%ImageIndexNo%" equ "A" ( set "ImageIndexNo=3" for /l %%i in (4, 1, %ImageCount%) do ( set "ImageIndexNo=!ImageIndexNo!,%%i" ) ) if /i "%ImageIndexNo%" equ "Q" goto :MainMenu ) echo. echo.------------------------------------------------------------------------------- echo.####Extracting Source from Store ESD Image##################################### echo.------------------------------------------------------------------------------- echo. echo.Decrypting Windows Store ESD Image if it's been encrypted... attrib -r -h -s -a "%InstallEsd%" >nul for /f "skip=1 tokens=4 delims=:." %%e in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" /Index:4 ^| find /i "Version"') do set ImageBuild=%%e if %ImageBuild% neq 7601 ( rem if %ImageBuild% equ 9600 "%W81EsdDecrypter%" "%InstallEsd%" 2>nul rem if %ImageBuild% neq 9200 if %ImageBuild% neq 9600 "%W10EsdDecrypter%" "%InstallEsd%" >nul "%EsdDecrypter%" "%InstallEsd%" >nul echo. echo.------------------------------------------------------------------------------- echo.Applying Windows Store ESD Image [Install.esd, Index : 1] to ^<Temp\DVD^>... echo.------------------------------------------------------------------------------- :: Creating Windows Setup Installation Media folder "%Temp%\DVD" call :RemoveFolder "%Temp%\DVD" call :CreateFolder "%Temp%\DVD" call :ApplyImage "%InstallEsd%", 1, "%Temp%\DVD" for /L %%i in (2 1 3) do ( echo.------------------------------------------------------------------------------- echo.Exporting Windows Store ESD Image [Install.esd, Index : %%i] to Boot Image... echo.------------------------------------------------------------------------------- rem call :ExportImageIndex "%InstallEsd%", %%i, "%Temp%\DVD\sources\boot.wim", "WIM", "Yes" echo. "%WimlibImagex%" export "%InstallEsd%" %%i "%Temp%\DVD\sources\boot.wim" --boot --compress=LZX call :DeleteImage "%Temp%\DVD\sources\boot.wim", 1 >nul echo. ) echo. if %ImageBuild% equ 9600 ( echo.------------------------------------------------------------------------------- echo.Exporting Windows Store ESD Image [Install.esd, Index : 4] to Install Image... echo.------------------------------------------------------------------------------- rem call :ExportImageIndex "%InstallEsd%", 4, "%Temp%\DVD\sources\install.wim", "WIM", "No" echo. "%WimlibImagex%" export "%InstallEsd%" 4 "%Temp%\DVD\sources\install.wim" --compress=LZX echo. ) if %ImageBuild% neq 9200 if %ImageBuild% neq 9600 ( for %%i in (%ImageIndexNo%) do ( echo.------------------------------------------------------------------------------- echo.Exporting Windows Store ESD Image [Install.esd, Index : %%i] to Install Image... echo.------------------------------------------------------------------------------- rem call :ExportImageIndex "%InstallEsd%", %%i, "%Temp%\DVD\sources\install.wim", "WIM", "No" echo. "%WimlibImagex%" export "%InstallEsd%" %%i "%Temp%\DVD\sources\install.wim" --compress=LZX echo. ) ) :: Moving ESD to WIM converted folder <Temp\DVD> to <DVD> Source Folder call :RemoveFolder "%DVD%" move /y "%Temp%\DVD" "%ROOT%" >nul echo.------------------------------------------------------------------------------- echo.####Copying EI.CFG Config file to Source ^<DVD\sources^> folder################## echo.------------------------------------------------------------------------------- echo. :: Getting Install Image Index Edition call :GetImageEdition "%InstallWim%", 1 :: Writing EI.cfg Config file to <DVD\sources> folder echo.Copying EI.CFG file to ^<DVD\sources^> folder... if exist "%DVD%\sources\EI.CFG" del /f /q "%DVD%\sources\EI.CFG" >nul ( echo.[EditionID] if %ImageCount% equ 1 echo.%ImageEdition% if %ImageCount% gtr 1 echo. echo. echo.[Channel] echo.Retail echo. echo.[VL] echo.0 echo. )>"%DVD%\sources\EI.CFG" :: Cleaning Up Unwanted files from Source folder call :RemoveFile "%DVD%\MediaMeta.xml" ) echo. echo.------------------------------------------------------------------------------- echo.####Finished Extracting Source from Store ESD Image############################ echo.------------------------------------------------------------------------------- :Stop echo. echo.=============================================================================== echo. pause set ImageBuild= endlocal :: Returning to Main Menu goto :MainMenu ::------------------------------------------------------------------------------------------- ::------------------------------------------------------------------------------------------- :: MSMG Toolkit - Extract Source from MCT or Custom ESD Install Image ::------------------------------------------------------------------------------------------- :ExtractSourceESD cls echo.=============================================================================== echo. MSMG ToolKit - Extract Source from MCT or Custom ESD Install Image echo.=============================================================================== echo. echo.------------------------------------------------------------------------------- echo.####Starting Extract Source from MCT or Custom ESD Install Image############### echo.------------------------------------------------------------------------------- echo. echo.Reading Image Information... echo. echo.=============================================================================== echo.^|Index^| Arch ^| Name echo.=============================================================================== for /f "tokens=2 delims=: " %%a in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" ^| findstr Index') do ( for /f "tokens=2 delims=:" %%b in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" /Index:%%a ^| findstr /i Architecture') do ( for /f "tokens=2 delims=: " %%c in ('%DISM% /Get-WimInfo /WimFile:"%InstallEsd%" /Index:%%a ^| findstr /i Name') do ( if %%a leq 9 echo.^| %%a ^|%%b ^|%%c if %%a gtr 9 echo.^| %%a ^|%%b ^|%%c ) ) ) echo.=============================================================================== echo. :: Finding total no of indexes present inside the ESD Image call :GetImageCount "%InstallEsd%" if %ImageCount% equ 1 ( set /p ImageIndexNo=Enter the ESD Image Index # ['Q'uit] : ) else set /p ImageIndexNo=Enter the ESD Image Index # [Range : 1,2,...%ImageCount%, 'A'll, 'Q'uit] : :: Checking for Image Index Validation if not defined ImageIndexNo ( echo. echo.Invalid Index # Entered, Valid Range is [1,2,...%ImageCount%, 'A'll, 'Q'uit] echo. pause goto :ExtractSourceESD ) if /i "%ImageIndexNo%" equ "A" ( set "ImageIndexNo=1" for /l %%i in (2, 1, %ImageCount%) do ( set "ImageIndexNo=!ImageIndexNo!,%%i" ) ) if /i "%ImageIndexNo%" equ "Q" goto :MainMenu echo. echo.------------------------------------------------------------------------------- echo.####Extracting Source from MCT or Custom ESD Install Image##################### echo.------------------------------------------------------------------------------- :: Converting Source MCT or Custom ESD Install Image to WIM Image for %%i in (%ImageIndexNo%) do ( echo.------------------------------------------------------------------------------- echo.Exporting [Install.esd, Index : %%i] to Install Image... echo.------------------------------------------------------------------------------- rem call :ExportImageIndex "%InstallEsd%", %%i, "%InstallWim%", "WIM", "No" echo. "%WimlibImagex%" export "%InstallEsd%" %%i "%InstallWim%" --compress=LZX echo. ) :: Deleting original Source MCT or Custom ESD Install Image call :RemoveFile "%InstallEsd%" echo.------------------------------------------------------------------------------- echo.####Finished Extract Source from MCT or Custom ESD Install Image############### echo.------------------------------------------------------------------------------- :Stop echo. echo.=============================================================================== echo. pause endlocal :: Returning to Main Menu goto :MainMenu ::------------------------------------------------------------------------------------------- ::------------------------------------------------------------------------------------------- :: Function to Integrate Windows Language Packs Menu ::------------------------------------------------------------------------------------------- :IntLanguagePacksMenu Thus, it continues with support to the old encrypted ESD. But simplifies for user. Code ready for Toolkit! At IMCK I changed the word Extract to Convert from .ESD to .WIM. Edit: Some details changed.
So, which is good to be seen... because many people have no idea how laborious this dedication is. And many do not understand when we say we are very busy. You are experiencing this, at the moment with the translation you are doing.
@MSMG v13.0 seems to successfully chop a .2311 image(same list of removed components) and search in start/taskbar/settings seems to work fine. So for now everything that is expected to work seems to work.
@MSMG, You put in place of the first links of the "DownloadExtract.cmd" file for NET 4.8.1, the NET 4.8 links.
@MSMG , Hey, I have a suggestion for your signature. I noticed it shows "MSMG ToolKit v12.7". Instead of updating the number for new releases (often forgetting to do so), you could simply set it to "MSMG ToolKit" instead. Also, a shorter URL could be used. Here it is: https://forums.mydigitallife.net/threads/50572/ Thanks for all your work! *Edit* You might want to change your original post. I see you still have v12.9 shown and not v13.0.
I was using 12.9 and this problem persists in 13.0. I also tested 17763 and 19045, both with supported latest update, removing Windows Mixed Reality does not break remote desktop.
@MSMG, The "Remote Desktop Client" component is displayed in "Remove Network Components Menu". The "Remote Desktop Server" component is displayed in "Remove Remote Components Menu". Could these 2 components be together in the same menu, in one of these 2 menus? If so, I believe it would look better visually. I know the current order is alphabetical, but sorting by functionality sounds more organized to deal with the types of applications to be removed, in this case of Network and Remote components. So, functionally speaking, it also seems to me that the 2 menus should be close together, moving Remove Privacy Components one position, up or down. Everything, in this case, are suggestions. Maybe even join the Network and Remote menus, creating: "Remove Network & Remote Components Menu".
These details above only came to mind, as the member @qazesz mentioned having problems with "Remote Desktop" and I went to check if it was linked to the removal of Windows Mixed Reality. In Toolkit.cmd Script there is no link with this removal. @qazesz, could you check if you checked the removal of "Remote Desktop Server", in menu 5? Perhaps this interfered in some way. It wasn't supposed to happen since the Client and the Server are different things, but it doesn't hurt to check. In light of your tests, I know this sounds weird, but try keeping both and see if the problems persist. But if you already keep them, then I think this information will be useful for MSMG to verify the component removal performed through the ToolkitHelper in 18363.
I am sure that no components related to Remote Desktop have been selected, because in fact I did tests with RemovepkgsList.txt only contains Windows Mixed Reality.
It is a suggestion to display only one option in the Toolkit. At IMCK it is already implemented. Specifically because of the conversation you and I had this week about ESD to WIM Conversion. Thus, no one would have doubts anymore, putting that, an option makes the ideal choice for each person's case.
I think, I found the cause for the Remote Desktop not working when Windows Mixed Reality is removed, will fix it soon.
There are plans to merge the Internet and Network menus in future versions, will be moving the Remote Desktop Client to Remoting menu.