1. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
  2. bala1

    bala1 MDL Member

    May 2, 2015
    179
    150
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    #24163 inTerActionVRI, Nov 30, 2022
    Last edited: Dec 2, 2022
    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.
     
  4. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    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.
     
  5. shhnedo

    shhnedo MDL Expert

    Mar 20, 2011
    1,828
    2,429
    60
    @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.
     
  6. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    @MSMG,

    You put in place of the first links of the "DownloadExtract.cmd" file for NET 4.8.1, the NET 4.8 links.
     
  7. Knives*

    Knives* MDL Member

    Sep 21, 2013
    226
    135
    10
    #24167 Knives*, Nov 30, 2022
    Last edited: Nov 30, 2022
    @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.
     
  8. qazesz

    qazesz MDL Novice

    Apr 30, 2018
    5
    5
    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.
     
  9. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    @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".
     
  10. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    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.
     
  11. qazesz

    qazesz MDL Novice

    Apr 30, 2018
    5
    5
    0
    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.
     
  12. bala1

    bala1 MDL Member

    May 2, 2015
    179
    150
    10
    is it a new menu?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    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.
     
  14. bala1

    bala1 MDL Member

    May 2, 2015
    179
    150
    10
    okay, got it
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. bala1

    bala1 MDL Member

    May 2, 2015
    179
    150
    10
    truth
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    Will fix it.
     
  17. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    I think, I found the cause for the Remote Desktop not working when Windows Mixed Reality is removed, will fix it soon.
     
  18. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    There are plans to merge the Internet and Network menus in future versions, will be moving the Remote Desktop Client to Remoting menu.
     
  19. Knives*

    Knives* MDL Member

    Sep 21, 2013
    226
    135
    10
    @MSMG ,

    The original thread here is still showing "MSMG ToolKit v12.9".