While working on xml creator, I became fed up always having to start up 7Customizer, clicking around selecting components and decided to write my own removal tool. It's nothing fancy, mind you, just a command line tool. And it doesn't do any image mounting and iso creating yet (it's planned, though). But it can remove components from Windows 7 based on xml files fairly reliably and quickly. It is mainly geared towards automation with batch files, but can easily be used manually.
The idea of removing components with xml files comes from blue4603 who is the author of 7Customizer. A big thanks goes to him. I just evolved the method a bit.
Below is a quick step by step guide on how to use it (from the readme).
1. Put the xml files for components you want to remove into the "xmls" folder and remove all the others. This tool comes with a bundle of xml files that will be extended and updated periodically. If you want to know what each xml file removes, use the -p option.
[You can also define your own xml folder with -d; use -h for help]
2. Mount a Windows 7 image into the mount folder (for example using Windows 7 Toolkit).
[You can also define another mount folder with -m; use -h for help]
3. Open an elevated command prompt at the folder where remove.exe is located and run it (e.g. type "remove" [without the quotes] and press enter). You can also right click remove.exe and select "Run as Administrator". This will open a console window with the progress and close it when it's done, but if something goes wrong, you might not catch the error message.
4. Lean back and watch the progress bars. This tool is much faster than 7Customizer or RT7lite, but it still takes quite some time for a lot of components. Maybe get a coffee?
5. Unmount, create an iso and test your new image in a virtual machine. You can automate this task by either creating a batch file or using Windows 7 Toolkit.
Some words of caution: This tool is still very beta! Always test the installation and frequently used applications in a virtual machine. There are most definitely bugs in there somewhere.
Also, your success removing stuff from Windows depends very much on the quality of the xml files you feed this tool. Some components are mighty complex and need a lot of testing from different people before they're right.
I will periodically release new xml files on the sourceforge.net project site in the files section.
- Windows 7
component remover v0.9.1
Go to the sourceforge project web site for the sources.
- ability to add files and registry entry through xml files
- mount/unmount image (with rebuilding the image for smaller size)
- create iso
- Installation of Internet Explorer 9 terminates with an error if all components are removed (I haven't pinpointed yet which component's fault it is).
- "Odd number of elements in anonymous hash at script/remove.pl line 1070." warning message. It's nothing to worry about, everything works as expected. Will be fixed in the next release.
- fix warning message and bug where components are not removed correctly (thanks to NateExMachina)
- note: Please delete all xml files if updating (xml format changed slightly); you can also delete libexpat_1.dll
- added dependency checking; can be skipped with -n option
- added option -b for benchmarking the removal process
- added: help documentation for -s option (skipping the removal process)
- updated and added xml files
- fix bug where custom mount dir was not found
- fix corrupt progress bar
- fix editing xml files to only remove lines that have a complete word as a string in them; the removal string must not be folowed by any alphanumeric characters in addition to '.' and '-'. Non-xml files are not affected.
- fix: if packages are removed, the "Turn windows featues on and off" windows is empty (ticket #15)
- upgraded perl runtime environment to 5.16.2; xml handling bug seems gone
- updated build process; libexpat is included in executable and it's much smaller now
- added support for scanning subfolders for xml files. You can organise your xml file your way now.
- added support for new xml format introduced in xml creator v0.9.96.
- changed internal data structures: files, folders and registry keys are only processed once now.
- changed the way xml files are edited (like manifest of package files). It takes a little longer but is safer.
- changed: downgraded to perl 126.96.36.199 because of a serious bug in newer versions of perl which crashed on some manifest files.
- added one xml file (UAC) and fixed actioncenter xml
- added support for resolving packages dynamically; only use xmls created with xml creator v0.9.94 or newer
- added option -d: print information on components
- added a few more xmls
- changed resolving of registry wildcards; subkeys are not added any more
- fixed crash with option -d
If you find any bugs or have problems/feedback, don't hesitate to post here or in the sourceforge forum.
Edited by justibus, 08 February 2013 - 03:10 PM.