Should be possible, normally he only integrates the updates in all wims and puts in DaRT + his Diskpart and apply image script.
to Enthousiast I know of course, I remember sometime ago I and MSMG talk about this so I believe now is the moment to discuss more deep how to find another method for work with Toolkit ok
so what's the actual workaround for the misplaced text? at the main screen, what do i hit if i want to remove all including store.
The 2 packages I highlighted ARE the Parent packages for the rest of the packages I listed, aren't they? You said I need to specify the full name - meaning, the entire thing that ends with version number? I noticed that CBSEnum lists all packages existing in current online image, but the version number is exactly the same - 14393.0, which is not correct because some packages were updated. I think this is why MSMG Toolkit has problems removing packages once they were already updated and ResetBase was performed. I even take it further by booting the OS and running ResetBase again to fully finalize all Pending Operations, then perform SysPrep + OOBE + Generalize + Shutdown + Capture before I remove anything with MSMG Toolkit or NTLite. Where can I find or from where can I generate the list of updated packages (of online OR offline images) with correct versions, like 14393.418? All places I see packages listed only display 14393.0... Do you think you could provide the list of all packages for each Component MSMG Toolkit removes and the exact Parent package names MSMG Toolkit uses to remove those components (with versions)? It would so much easier to just place those package names into a Custom Package List file and remove it all in one go, even if versions of packages have to be adjusted for already updated images! I understand that MSMG Toolkit also does extra things for some components, like taking ownership of registry entries to fully get rid of the component, but with NSudo 4.4 - its not really necessary and SFC ScanNow can always fix all ownership-related issues with ease.
PowerShell is just a shell to run the script but still you will have to use the DISM Cmdlet/API to mount/unmount a image or do any image operation. But what I was talking about was removing a component without the DISM /Remove-Package method i.e to use a manual method to remove the files/registry related to the component. This method can be used with either the DOS batch or powershell or a GUI.
it was posted few days back and it will be available in the next version, don't bother with the message it will do what the menu you choose to do.
I do think so the 2 packages highlighted are the parent packages, but still you may need to test them and see if it leaves out any sub packages. You asked can we enter the entire package line in RemovePackages.txt and the answer is yes you can but each time if there is a new build then you will have to change the list. Here the new build I referred was about entirely new builds like TH1/TH2/RS1/RS2/RS3 and not the CU build no's the CU will not update the package names of the original components instead you will find new packages like Package_for_KB And it has nothing to with MSMG ToolKit's package removal since the ToolKit doesn't use the full package string to remove but it uses or passes the partial name of the package to a function which will search the registry to get the package full name and then it passes it to another function where it removes it using the DISM /Remove-Package command. That's why I have provided the RemovePackages.txt for people who doesn't like to go-through the menus for component removal but instead they can just add the partial parent package name and remove all the components in one go, but the remaining things like cleaning up the junk left-out files they need to do manually. Using NSudo you can skip the takeownership thing but still you may need to do the rest of thing like removing the leftover files/folders.
Example: Source: - OS 15063.0 (mum packages: A 15063.0, B 15063.0, D 15063.0) - CU KB01 15063.413 (mum update package for A, mum update package for B, mum update package for C, mum update package for D, mum update package for E) Integration CU KB01 to OS 15063.0: - integration mum update package for A as Package_01_for_KB01 - integration mum update package for B as Package_02_for_KB01 - integration mum update package for D as Package_03_for_KB01 (Program 15063.413 (package A) is bad. Uninstall Package_01_for_KB01. Program 15063.0 (package A) is good.) (Resetbase = remove old files (example revision 0) if it exists new files revision) (Program 15063.413 (package B) is bad. Uninstall only Package_02_for_KB01 not work (there is no old revision) after resetbase (uninstall package B (include Package_02_for_KB01) is work).) Remove package D (automatically includes remove update Package_03_for_KB01 and all update packages for package D). Recomended: Integration CU and remove package D = unnecessary integration Package_03_for_KB01 and uninstall Package_03_for_KB01. => https://forums.mydigitallife.net/threads/msmg-toolkit.50572/page-154#post-1352878 Best: Remove package D and integration CU KB01 ( = integration only mum update package for A and B).
MSMG Toolkit and NTLite are very slow and output not valid sfc and ScanHealth. You do not need sfc or ScanHealth if you make a valid editing script. Edit wim without mount is valid sfc and ScanHealth, and retain Component Store Integrity. Example remove package: - delete all package files in wim - extract reghive components and software - edit reghives components and software - update reghives components and software in wim Everything was done in about one second
Actually, I am doing a lot of beta-testing for the upcoming version of NTLite, which focuses on 3 things - preservation of file integrity (SFC ScanNow), component store integrity (DISM ScanHealth), and update-ability. How can you run SFC and DISM on non-mounted extracted image???
You need the /offbootdir and /offwindir switches So something like: sfc /scannow /offbootdir="path to mounted install.wim folder" /offwindir="path to mounted windows folder"
Afaik, then it uses the mounted wim to repair the live os, not the other way around. I found the instructions: Code: Windows PowerShell Copyright (C) 2016 Microsoft Corporation. All rights reserved. PS C:\WINDOWS\system32> sfc /scannow /? Microsoft (R) Windows (R) Resource Checker Version 6.0 Copyright (C) Microsoft Corporation. All rights reserved. Scans the integrity of all protected system files and replaces incorrect versions with correct Microsoft versions. SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>] [/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory>] /SCANNOW Scans integrity of all protected system files and repairs files with problems when possible. /VERIFYONLY Scans integrity of all protected system files. No repair operation is performed. /SCANFILE Scans integrity of the referenced file, repairs file if problems are identified. Specify full path <file> /VERIFYFILE Verifies the integrity of the file with full path <file>. No repair operation is performed. /OFFBOOTDIR For offline repair specify the location of the offline boot directory /OFFWINDIR For offline repair specify the location of the offline windows directory e.g. sfc /SCANNOW sfc /VERIFYFILE=c:\windows\system32\kernel32.dll sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows sfc /VERIFYONLY PS C:\WINDOWS\system32>
What your suggesting though, would mean when this is done from PE or recovery environment as is one of the suggested uses, that the Live OS is being repaired. Which would be the PE in that scenario. That would make no sense.
So this should be the command? Code: sfc /SCANNOW /OFFBOOTDIR=C:\Users\sg\Desktop\Mount /OFFWINDIR=C:\Users\sg\Desktop\Mount\windows It reports the repair service can't be started.
Speaking of which.. I haven't noticed an option for it - is there an option, or can you add an option to export the current mounted image's package list? I know it can be done manually with commands, but it would be very useful in combination with the RemovePackages.txt to be able to export "CurrentPackages.txt" for example.
That looks right assuming the paths are right. I'm far from a deployment (or any other kind of) expert, all I can say is it works on my end.