Jump to content

xml creator for 7Customizer


Recommended Posts


justibus - I'm having some probs using a search string of "smartcard". A log file gets created, but the program seems to exit normally without producing an xml file. Previous versions of create seemed to work fine w/that search string, the versions dated dec-4-2011 and dec-6-2011 do not work.

Link to comment
Share on other sites

Tommyp, thanks for the bugreport. I found the problem and will be releasing a new version later today, it just needs some more testing.


I just uploaded version 0.9.20. It has a few fixes and one new command line option -b. It takes an ini file that adds or removes elements from the xml. See the first post or readme for more info on how to use it.

Cheers!

Edited by justibus
Link to comment
Share on other sites

I ran into a problem generating a reducer for SQM. I use the -k sqm to generate the xml. The prob is that there are some entries in HKLM\microsoft\windows\currentversion\setup\sysprep\cleanup and \generalize and \specialize of the registry. It seems that these entries are created by the sysprepinformation of the setup manifest xml. Can you explain how to use the new -b option of create so I can delete these entries?

Thanks!

Link to comment
Share on other sites

There is a description in the readme (or the first post), and there is an example file (example.are) that should explain the format I use. It's basically an ini file format with two section [add] and [remove] and each can have multiple of the following four parameters: file, dir, key and value. It's probably easiest to look into the example file (its a standard text file).

The [add] section adds an element to the xml file and the [remove] section removes an element that exaclty matches the path= attribute of the element.

So for example, if you have a file element in the xml you want to remove, you'd add something like this in the ini file:


[remove]
file = Windows/winhlp32.exe

and then run create with something like


create -k help -b "..\inis\help.are"

The path to the ini file can be absolute or relative, but I advise to use paths without spaces in them.

The file extention can be anyting you like. I just chose .are for an abbreviation of addremove. Nothing fancy really.

The key and value parameters of the [add] section have a little bit of a special syntax (again, see example.are for clarification), but not those of the [remove] section.

I hope this clears things up a bit. :-)

Link to comment
Share on other sites

  • 4 weeks later...

You mean xmls for 7Customizer? Just download the current version. The xmls contained therein are all that are available right now. I haven't had much time recently to test more components and there have been quite a few changes in xml creator since I released those. I hope to get back to more testing in a week or two.

Also, tommyp was working on some batch files that create xml files.

Cheers!

Link to comment
Share on other sites

BTW guys, an easy way to search for stuff is to look at the names of the manifest files.

amd64_adpu320.inf.resources_31bf3856ad364e35_6.1.7600.16385_en-us_6a45a05a6afc0a79

Search -k adpu320 and it compile an xml based on the inf information. Usually within the .xml there are keys to finding out what exactly the component is. For example, in adpu320 there is a file called adpu320.sys which you can cross reference with http://www.thefiledb.com/filedatabase/windows7x64/ which has a list of all the files within the OS. Under the file adpu320.sys is the description Adaptec StorPort Ultra320 SCSI Driver which you can use in your .xml to help detail it. To make searching thefiledb.com easier, just google "thefiledb.com adpu320.sys" or whatever other device you're looking for and it should bring the page up as the first hit.

WinSxS seems to be divided into several catagories.

Anything that is simply amd64_xxxxxx.inf seems to be the basic foundation of the system such as drivers, services, and a few other lower level items.

Anything that is amd64_microsoft-windows seems to be software components in the native x64 format.

Anything that is wow64_microsoft-windows is the 32 bit version of the native software components.

Anything that is x86_xxxxxx.inf seems to be 32 bit versions of the basic OS foundation.

And then there is a 5th catagory, msil_xxxxxxx which I'm not sure exactly what it falls under. Anyway, it makes looking for stuff easier.

Good thing is, a lot of stuff is repeated over the categories so you don't actually have to search through 12000+ manifests. Maybe, only 4000, lol! It seems it really is possible to create a fully modular Windows 7, something that didn't really seem possible before. Sadly, I doubt this would go anywhere, as it doesn't seem there are many people really interested in a OS with only the stuff you want in it and not the bunch of junk it comes with.

Oh yeah, another benefit of this is that by searching this way, you can remove components of components... for example:

amd64_desktop_shell-gettingstarted.resources_31bf3856ad364e35_6.1.7600.16385_en-us_985b8b2af38a6a1a

amd64_desktop_shell-gettingstarted_31bf3856ad364e35_6.1.7601.17514_none_5d1e01379f4d67ed

amd64_desktop_shell-search-srchadmin.resources_31bf3856ad364e35_7.0.7600.16385_en-us_805a99c7c2e587d5

amd64_desktop_shell-search-srchadmin_31bf3856ad364e35_7.0.7601.17514_none_a9f0ab75af7a5b5c

Would all be compiled under the same xml if you did a search for desktop_shell but if you did desktop_shell-gettingstarted you could separate the component and you could remove part of it rather than the whole thing.

One problem though is that stuff that gets too long in file name, such as: amd64_microsoft.windows.d..eshootingpackmodule_31bf3856ad364e35_6.1.7600.16385_none_7d19911b0fafbb5f

Part of it is cut off so knowing exactly what the component is, is a little questionable without time consuming file browsing. It's actually diagnostic troubleshooting pack module, which if you'd only find out by opening the manifest in an editor. Ah well...

Edited by Moonchilde
Link to comment
Share on other sites

Thanks for that little tutorial!

Your last comment is actually a pretty important one. Xml creator first searches all manifest files for the strings you give with the -k option. Then it selects all manifest files that contain any search string in the name element of the assemblyIdentity element (that is usually the first element of the manifest file). So searching for those name attributes actually improves accurancy but it also makes it hard to discover new components. That requires a lot of work browsing through the manifest file directory and looking at the manifest files individually.

Cheers!

Link to comment
Share on other sites

I think the only accurate way to search for the building blocks of the OS is being forced to do it file by file in the WinSxS folder. Yeah, it's huge, but a lot of stuff is repeated for compatibility layers and components are broken up into "parts" so it isn't like each and every manifest is a new component. At first, I was extremely overwhelmed, especially prior to the release of xml creator. There was no way I was going to be able to create xml files manually, it was just way over my head. I've noticed each component has at least 2 manifests, one for the original xxx.inf, one for inf.resources at minimum. Some include language variations and other stuff as well. This also significantly cuts down the amount of folders we have to browse through in WinSxS, which can be easily overwhelming when you first browse to the manifest folder and see over 12,000 individual files.

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.

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. I never had a problem with Win XP x64 and had a very small nLite install, sadly, my audio hardware device drivers decided to go with the Vista architecture and rendered it useless for the Server 2003/XP x64 architecture.

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

Edited by Moonchilde
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...