Jump to content

justibus

Member
  • Posts

    67
  • Joined

  • Donations

    0.00 USD 
  • Country

    Switzerland

Posts posted by justibus

  1. Huh! I'm surprised people still use this. :huh:


    As to your error, I assume you are using the latest version on sf.net. Unfortunately, I don't know what caused this error. It seems to be a problem with Perl. What you can try is to delete the whole "par-53495732" folder, reboot the computer and try to run it again.

    By the way, if you run it without mounting or extracting a windows installation image into mount, you will get the following error:

    It seems, the Windows installation wim file is not mounted in mount!

     

  2. hmm, I missed that warning before releasing it. It's fixed, but since it's a purely cosmetic issue, it will have to wait until the next release. But, it's nothing to worry about. I just tested it and it works all right. Your image size does not shrink if you do not export the modified image from the ortiginal wim file to a new one. I use imagex for that (imagex /export), but there are other tools out there (windows 7 toolkit springs to mind). Have you tested the installation in a virtual machine? Did it remove the components you selected?

    Thanks for reporting the bug!

  3. I just wanted to let you know that I released a new version of remove (v0.9; see first post). It has mainly a few bug fixes, some new xmls, dependency checking is implemented and seems to be working (skip with -n) and there a few new command line options (-n and -b for benchmarking).

    I know it's been a while and in the meantime Windows 8 is out, but I'm still working on it, though not so frequently any more.

    Let me know how it works for you.

    @smilodon: If you're still around, can you test this release and report back?

  4. After a reboot it's working... but still only generating XMLs every other time...? and can I use this to search for say Shell32, and delete all of the old versions of Shell32? How do I go about doing that?

    With Shell32, you mean the shell32.dll? As long as you can find manifest files in Windows\winsxs\Manifests, you can create an xml with create.exe. Otherwise you have to construct an xml manually.

    But why it creates xmls only every other time, I can't say why this happens without a bit more info. When using the same keyword, does it work one time and not the next? Could you attach a log file of a successful run and an unsuccessful run (if there is one)? I can only do guesswork if you don't give me a little more information.

    Well, my Windows 7 partition crashed and I'm on Windows 8 CP right now (I hardly ever use it) but it's saying that It has to run on Windows 7, and I'd like to strip Win7 before I reinstall, is there anyway to run it on Win8?

    Hmm, I haven't thought about Windows 8. I'll fix it in the next version. Unfortunately, I can't say when I'll be able to release it.

  5. Not every keyword works.

    What xml creator does is search through all manifest files in Windows\winsxs\Manifests and select the ones that have your keyword in the first <assemblyIdentity> tag (in the name attribute).

    Have you extracted a WIM file to some folder and pointed settings.ini to it? Otherwise it will give a warning.

    You need to run create.exe from an elevated command promt because it needs to load the registry hives from the extracted WIM file into the registry. That only works with administrative rights.

    If you give me the command line you use, the version of create (create.exe -v) and paste the contents of your settings.ini into a code tag here, I can look into what's not working.

  6. Hello justibus,

    I hope you can help or point me to some place or someone that can. I have being trying to use 7Customer.0.5.0c to remove windows 7 components but cannot get it to work. I am not sure why it is not working or what I am during wrong. Do I need to do anything after I select the components in the "7Customizer Tweaks Section"? Do I need to edit the xml file the 7Customizer build and if so what file.

    If u do not mind could you give me a step-by-step process to do to gt it to work or tell me where it is documented which show what to do. I really like to tool but I need to remove or turn on features. for example I check the box to remove "Games", "Pictures", "Documents", "Music" but they still show in the Start Menu. How and what do I need to do to get the components removal to work. I really would apprecaite your help to resolve this problem.

    Thanks

    If you use 7Customizer, you have to make sure of a couple of things:

    - In the apply tab, check "Verify file deletion"

    - To remove components, use the Components Tab. The Tweaks tab doesn't actually remove components from the installation. Be aware, that this feature is very beta (I myself you rather say alpha in an advanced stage).

    As an alternative, you can use my command line utility Moonchilde pointed to in the previous post. But it only removes stutt. It doesn't do anything either. And it's also beta. So your results might vary.

  7. This is a small writeup of the changes I have made to the xml format blue has defined and why I made them for xml creator and the companion removal tool. I want to thank blue for creating this format. It allows us a lot of control over the removal process. But it has a few shortcomings I addressed with my modifications.

    1. Extended wildcard support
      • File and directoy elements support wildcards as most Windows console programs do. That means you can put multiple wildcards in each path attribute.
      • Registry keys and values also have almost propper wildcard support. You can put several wildcards in the path attribute of the <Key> and <Value> elements. The <Key> wildcards are resolved as in the <File> or <Directory> elements. The wildcards in <Value> elements are resolved according to the value attribute. For example, if you have a wildcard in the value and path attributes, the removal tool should find all the values in all keys after resolving the wildcards. This is to some extend possible with the "reg.exe query" method.

    [*]New element <Manifests>. Instead of putting the manifest files and directories and registry entries into their respective elements, they get their own element. This removes redundancies and makes it easier to make changes in the future how those elements are processed during removal without having to change the xml. We probably still don't understand the process of how these files and registry entries are used by Windows.

    [*]New element <Packages>. Some components are referenced in separate packages (located in Windows\servicing\Packages and in two places in the registry, HKLM\software\microsoft\windows\currentversion\component based servicing and HKLM\COMPONENTS\CanonicalData). This entry is needed to remove those packages. It cannot be put into the other elements because some registry entries are totally different in different versions of Windows (those in CanonicalData). They need to be resolved during component removal.

    Below is an example xml that features all those changes (note: this is a semi- ficticious example).


    <?xml version="1.0" encoding="UTF-8"?>
    <_7Customizer>
    <Componenet group="System" name="Anytime Upgrade" requiredForStableSystem="false" size="1">
    <Description>Upgrade Windows to a different edition.</Description>
    <DependantComponenets/>
    <NeededFor/>
    <Files>
    <File method="delete" path="ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Anytime Upgrade.lnk"/>
    <File method="delete" path="Windows\Help\Windows\en-US\anyupgr.h1s"/>
    <File method="delete" path="Windows\System32\WindowsAnytimeUpgrade.exe"/>
    <File method="deleteLine" path="Windows\winsxs\Manifests\*microsoft-windows-h..epremium-deployment_*.manifest" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
    <File method="deleteLine" path="Windows\winsxs\Manifests\*microsoft-windows-h..omebasic-deployment_*.manifest" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
    <File method="deleteLine" path="Windows\winsxs\pending.xml" string="Microsoft-Windows-Anytime-Upgrade"/>
    <File method="deleteLine" path="Windows\winsxs\pending.xml" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
    </Files>
    <Directories>
    <Directory path="Windows\System32\fiction\*win*">
    </Directories>
    <Registry>
    <Keys>
    <Key part="software" path="Classes\CLSID\{BE122A0E-4503-11DA-8BDE-*}"/>
    </Keys>
    <Values>
    <Value part="software" path="Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_*" value="WindowsAnytime*"/>
    </Values>
    </Registry>
    <Manifests>
    <Manifest id="*microsoft-windows-anytime-upgrade_*"/>
    <Manifest id="*microsoft-windows-anytime-upgradeui_*"/>
    </Manifests>
    <Packages>
    <Package id="Microsoft-Windows-Anytime-Upgrade-Results-Package*"/>
    <Package id="Microsoft-Windows-Anytime-Upgrade-Package*"/>
    </Packages>
    </Componenet>
    </_7Customizer>

  8. Not at all. It works on the basis of xml files. These xml files contain all files, folders and registry entries that are directly deleted from the image.

    The information is gathered by another tool in this project, xml creator. It basically looks inside the winsxs\Manifests folder where information to all Windows components are stored in manifest files (they're really just xml files) and extracts the needed information for deleting said components.

    This approach is much more flexible. You are not limited to remove whole packages, but can remove only parts of it, not to mention stuff that's in no package. RT7lite goes the same way. The problem with that tool is, you as a user have no power over what files are specifically removed for a component because you don't have access to it. If you find a bug, say a missing file, you can only contact the developer.

    With this approach, you can fix it yourself and give back to the community.

    The idea behind is, as more people participate, the xml files get better and better until they produce compatible and stable outcomes.

  9. Hi,

    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.

    System Requirements

    - Windows 7

    Download

    component remover v0.9.1

    Go to the sourceforge project web site for the sources.

    Todo

    - ability to add files and registry entry through xml files

    - gui

    - mount/unmount image (with rebuilding the image for smaller size)

    - create iso

    Known bugs

    - 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.

    Changelog

    version 0.9.1

    - fix warning message and bug where components are not removed correctly (thanks to NateExMachina)

    version 0.9

    - 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

    version 0.8

    - 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 5.10.1.5 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

    version 0.7

    - 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.

    Cheers!

  10. I've just released a new version. It's now hosted on sourceforge.net.

    The biggest change is in the xml format. The xmls look a little different. The change was necessary so that all architectures of Windows are properly supported. Unfortunately, this renders xmls created with the new version incompatible with 7Customizer 0.5.0c for the moment. That might change in the future.

    I'm also working on a command line removal tool that is compatible with the new xml format. But I need to do some more testing before I can release it.

  11. Over in the vLite forum they have this issue covered. There is an update that "fixes" updatability while "removing" the WinSxS folder. Most stuff will update fine. I think when people were using vLite to remove WinSxS or RT7Lite they were removing stuff that shouldn't have been removed.

    Do you have a link to that thread? I'd like to read up on it.

  12. Also, when searching for string -k atiriol6 it builds an xml file but doesn't for some reason find the .sys file associated with the inf. If you check thefiledb.com, you'll see that the atinavrr.sys has a path of atiriol6.inf. Is xml creator missing something? If so, then it's possible we may think a component is completely removed, such as the ATI video capture drivers but they really aren't fully removed. However, if you search for -k atiilhag it will find the associated .sys, atikmdag.sys.

    If it can't find the .sys file, then it's not in your sources. If you look at the manifest file for atiriol6 the line for the .sys file looks like this:


    <file name="atinavrr.sys" sourceName="atinavrr.sys" importPath="$(build.nttree)\">

    There is no destination path xml creator can use. So xml creator has to search for the file. And if it can't find it, it's not there (unless there is a bug in xml creator, of course; but I doubt it, because I can't find that file either). The only location where the file is located is in the winsxs\amd64_atiriol6.inf... folder. And that one gets deleted.

    The one thing I LOVE about this method of component removal is that after the component is removed, the WinSxS folder is removed too, which will greatly reduce the footprint of the OS. It's sad when the WinSxS folder for XP x64 edition is only about 128 mbs in size and Win 7 is gbs larger.

    Removing stuff from winsxs can also create problems. For one thing, windows update won't work correctly anymore, at least when you remove too much stuff. The problem is that the windows component store (which is basically the winsxs folder and some registry entries) is left in a slightly corrupted state. There are still references to certain components (and their manifest files) that are not there anymore. That produces errors which windows update tries to fix by installing the components again. Since they are not there anymore, it fails.

    There is also a problem of integrating updates into an offline wim image and then removing stuff. I'm not quite sure, but I think the updates are not integrated fully but only added to the winsxs folder for installation during windows setup. So even if you remove components for which you have updates they get installed anyway which might in turn produce errors because the installed update can't find its dependencies. So, it's all a bit complicated.

    The solution would be to use the internal cbs and trustedInstaller from windows 7 itself, because they have a complete picture and maintain the component store. The problem is, there is no public api to use them. I've searched for hours for some useful documentation on how the component store gets maintained with these two programs. I didn't find anything. And reverse engineering this is beyond me.

    Either way, for this to really take off we're going to need help, and blue needs to come around more often.

    I hear you there!

×
×
  • Create New...