Jump to content

justibus

Member
  • Posts

    67
  • Joined

  • Donations

    0.00 USD 
  • Country

    Switzerland

Everything posted by justibus

  1. 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!
  2. 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!
  3. 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. :-)
  4. 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!
  5. Could you try this development version and report back if this works better for you: http://dl.dropbox.com/u/14595053/create_snapshot_6.12.11.zip If it still does not work, please attach your settings.ini file. What edition of Windows 7 did you extract?
  6. Ok. Could you give me the path you extracted the source to, so I can try to reproduce the problem? Thanks.
  7. This means that you haven't extracted all the Windows 7 installation sources (from an image in install.wim file), or there's a bug in the tool. Have you extracted an entire image of the install.wim file? Could you give me the path to where you extracted it to? Alternatively, you can mount an image using dism and give the mount directory as the source directory in the settings.ini file. Also attaching the settings.ini file to your reply could help.
  8. I released a new version of xml creator for 7Customizer. It has quite a few bug fixes (also the ones from the post just above) and internal reworkings. It doesn't rely on external applications any more (such as findstr.exe) which was error prone. As a nice side effect, the executable shrank to 7.5 MB (from 12 MB). The settings.ini format changed a bit. Please use the provided settings.ini and adjust your paths again. Update - new version 0.9.11 There was a nasty bug introduced in 0.9.10 where the keyword search didn't work for 3 or more keywords any more. Thanks to tommyp for finding it.
  9. You can use -n for not optimizing the xml. But you might end up with a lot of duplicate entries. I just ran -k prn, and create doesn't even get beyond finding the manifest files. It just stops and doesn't do anything anymore. So there seems to be a bug somewhere. Thanks for finding it. I'll look into it. Update: It seems, there are two things happening here. - Somehow, writing the logfile for that input (-k prn) takes a huge amount of time. It is connected to some manifest file names, but I have no idea why it happens. And I haven't found a workaround yet. This is the only keyword I have found that does this. - Some manifest files don't have complete information where files are stored. This means the tool has to search for the files in the extracted sources (provided they are extracted). The current implementation takes on my old laptop quite a long time for each file. Fortunately, this can be improved to some extend. I am working on it.
  10. @anyone trying to remove components: Component removal currently only works reliably, if you check the option "Verify file deletion" on the Apply tab. If you do not check it, you might get an error during setup that some component could not be installed. Also, there might be some problems for 32bit versions of Windows (some manifest files and folders are not removed).
  11. @blue How have you implemented removing lines from a file (for example pending.xml)? Is is possible that it's done during the verification phase? If so, could you move that to the first phase (or add another in between removing files and verifying files)? I ask, because when I remove a component without verifying, I get an error during setup and I find all the component entries inside the pending.xml. But when I check file deletion verification, all the pending.xml entries are gone and setup works fine.
  12. Thanks! I'm not quite sure what you mean. Do you mean making out of this: amd64_microsoft-windows-b..oyment-languagepack*.mainfest the following? *microsoft-windows-b..oyment-languagepack*.mainfest The current inplementation should put the last wildcard (as in the first code example). The wildcard at the beginning of the name would be a useful feature (as in the second example), but currently it won't work, because 7Customizer only recognizes wildcards at the end of the file and directory names. Incidentally, in <File> elements with a deleteLine attribute, it's not recognized at all, at least it didn't work for me. But blue is working on a fix for that. @blue: Maybe you could implement the wildcard at the beginning of filenames also? I have also encountered this on systems without a perl installation. I haven't been able to figure out why it happens. It must be something in the exe packaging I use. Unfortunately, I don't have an alternative. So we just have to live with it. Please keep the feedback coming. I probably missed a quite a few bugs. With your help, I can fix them. Cheers!
  13. Ah, I see. It was the Anytime Upgrade component. I will try to fix it and upload a new xml file. It might take some time though. Meanwhile, don't select Anytime Upgrade for removal. Thanks for the logs! This helps a lot.
  14. I seems, a component removal xml is not working correctly. Do you have access to the corrupt installation (with a linux live cd or so)? If so, could you attach the last 200 or so lines of the file setupact.log which is located in \Windows\Panther? And myselfidem is right. Always test the iso in a virtual machine before installing it on a real machine.
  15. I uploaded version 0.9.3. Fixed a few more bugs because of optimization... This won't ever stop, won't it... Ah well. If there are no more bugs found, the next version will be no more beta. I will wait with that one until all the known bugs pertaining to 7Customizer are fixed.
  16. @ blue, I found two more bugs: - deleting a (Default) value produces an error and halts the command line. The problem is that (Default) values don't have a value name. The manifest file looks like this: <registryValue name="" valueType="REG_SZ" value="HomeGroup Begin Page" operationHint="replace" owner="true" /> and the xml looks like this: <Value part="software" path="Microsoft\Windows\CurrentVersion\XWizards\Components\{009f3b45-8a6b-4360-b997-b2a009a16402}" value=""/> In the registry editor it looks like this: And here is the error in the console window: WARNING: The parameter <HKLM\7software\Microsoft\Windows\CurrentVersion\XWizards\Components\{009f3b45-8a6b-4360-b997-b2a009a16402}" -ot reg -actn setowner -ownr n:S-1-5-32-544;s:y -rec yes> contains a double quotation mark ("). Did you unintentionally escape a double quote? Hint: use <"C:\\"> instead of <"C:\">. ERROR: The object path was not specified. SetACL finished with error(s): SetACL error message: The object was not set WARNING: The parameter <HKLM\7software\Microsoft\Windows\CurrentVersion\XWizards\Components\{009f3b45-8a6b-4360-b997-b2a009a16402}" -ot reg -actn ace -ace n:S-1-5-32-544;p:full;s:y;i:so,sc;m:set;w:dacl -rec yes> contains a double quotation mark ("). Did you unintentionally escape a double quote? Hint: use <"C:\\"> instead of <"C:\">. ERROR: The object path was not specified. SetACL finished with error(s): SetACL error message: The object was not set Delete the registry value /f (Yes/No)? I have attached an xml which demonstrates this. I think the error occurs because the /v switch for deleting values with reg.exe does not work on (Default) values. You need to use the /ve swicht for that and omit the value name. When using a .reg file, I think it works like this: [path_of_registry_key] ""=- - When selecting a component category in 7Customizer (e.g. "System" or "Accessoires"), none of the components in the tree are actually selected. And thanks for the new version! Cheers! Edit: I just uploaded a new version of xml creator for 7Customizer. There was a bug that made 7Customizer skip all value elements inside the xmls. This is fixed now. homegroup.xml
  17. Thanks! I'm working on more but I slowly run out of easy to remove components. It takes a lot more testing now. Wait... for each component you select for removal, 7Customizer mounts the image, removes the component and saves and dismounts the image? Are you sure about that? If that is the case, that is very strange behaviour. On my setup, 7Customizer mounts the image in the beginning and saves and dismounts it at the end, so only once. What version are you using? If you use a version older than 0.5.0c, try that one. It's much faster because it does not check for correct removal of the components (which takes a long time for each component, especially for keyboard layouts). I think combining several xmls into one and shipping them is not a good idea, especially for the keyboard layouts. People need to be able to select which one(s) they need to keep an which ones they want removed. I for one absolutely need the us international layout. But your second suggestion of 7Customizer combining the selected xmls before actually executing the removal could have some merit. Though I don't know how much faster it would go. I suspect the time winnings are negligible when the component delete verification is turned off (which is default in version 0.5.0c). This needs a test. Another question: Did you by chance notice random freezes while using the lited Windows? During testing I encounter time and again sudden freezes. I can move the mouse cursor and mouse over animations in the open window also still work, but I can't select anything. After waiting a few minutes, everyting works fine again. I suspect, it's virtualbox not getting along very well with my system, but I want to be sure.
  18. @ blue, Thanks! And I have two more feature requests (sorry about them trickling in and not bringing them all at once): - An option to turn off files and registry key deletion verification. The verification usually takes a huge amount of time, much longer than the deletion itself. - An option to rebuild the image. This can be accomplished with the "imagex /export" command. Cheers!
  19. I just noticed, it isn't as easy as that. The reg.exe command that you use for deleting registry entries does not work for the keys with an "*" (at least in my testing; see my second post up). So you would need a completely different approach for deleting registry entries. I know of only two other, through a .reg file or through an .inf file. I'd suggest you write the registry entries into a .reg file and import them with "regedit.exe /s". You still need to set the permissions for each key and value with setacl.exe (which works for these keys in my tests), but then just import the registry file either for each component or for all components just once. For deleting a key just prepend a "-" to the key, for example: [-HKEY_USERS\win7sys\ControlSet001\Control\Keyboard Layouts\00000401] and for deleting a value put "-" after the "=" instead of the data: [HKEY_USERS\win7sys\ControlSet001\Control\Keyboard Layouts\00000401] "Layout File"=- As for the character sequence, let's take "!!". I searched the registry and there is no such sequence in there. So it should be safe. Thanks!
  20. That sounds fine. The question is, which one? It seems that registry keys have quite a lot of valid characters. Thanks! On a side note, I updated the first post with a new release. This one just fixes bugs. No new features. You can also find some new xmls in the xml component thread. Cheers!
  21. Here are a few more xmls. Some of them supersede the ones I have attached in the post above. Just delete them. These xmls have undergone basic testing. This means, Windows installed correctly in a vm and everything worked fine at first glance. Please report anything out of the ordinary, preferably with a pointer to the culprit xml file. I have also attached xmls for all keyboard layouts (except for US because it's the default fallback layout). They are removed fine but there is a peculiar sideeffect. In the selection window where you can choose a new layout, a lot of input languages are also missing. I have not yet figured out why that is. Some help is appreciated! Be aware, that removing all those layouts will take a huge amount of time. The problem is that 7Customizer checks each file and registry entry for deletion and that seems to be awefully slow right now. The only way around that is to crtl-c out of it and force an unmount with dism (or I use the windows 7 toolkit). Edit: I found another way which does not break dismounting. In the 7Customizer_0.5.0a\work folder just rename "RemoveComponenetsHelper2.exe" to something else (I appended .bak). That way the command is not found and therefor not executed but the batch script continues anyway. Cheers! Edit: I've attached a few more components that seem to work fine. components.zip keyboards.zip components_061111.zip
  22. @blue I have a little feature request for the xml format. Or actually two. There are some manifest files that contain references to other manifest files or components. These should probably be removed also. We have the method="deleteLine" for this, but it is limited in two ways. First, you have to include the full name of the manifest file from which you want to delete a line (so there is no wildcard '*' support for deleteLine elements). For example, in this element I have to include the full manifest file name for the deleteLine to work. <File method="deleteLine" path="Windows\winsxs\Manifests\amd64_microsoft-windows-c..oyment-languagepack_31bf3856ad364e35_6.1.7601.17514_en-us_51f66c2a6018a344.manifest" string="Microsoft-Windows-wordpad"/> This is bothersome and has the problem of being language specific to, in this case, "en-us". So it wouldn't work for any other languages of windows. I have tested using a wildcard in the manifest file name like in the other file elements, but 7Customizer threw an error there. So, it would be nice to be able to use a wildcard as in the other file element entries. Second, this method only deletes one line. But the manifest files have 5 lines for each component entry (below is an excerpt from the file mentioned above): <dependency discoverable="yes"> <dependentAssembly dependencyType="install"> <assemblyIdentity name="Microsoft-Windows-wordpad.Resources" version="6.1.7600.16385" processorArchitecture="amd64" language="en-US" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" /> </dependentAssembly> </dependency> The Windows 7 installation still works even if only the third line is deleted from the example above, but it's a rather incomplete solution. A better solution could be to add two attributes, say 'above="2"' and 'below="2"' that indicate how many lines above and below the found string should be deleted as well. I have attached a new version of wordpad.xml to demonstrate this issue. Cheers! Edit: I've updated the xml creator to version 0.9. I mainly optimized the check for redundancies. It should be a bit quicker now. And I added some more command line options. See the changelog in the first post. Note: This version adds some elements to the xml that are language specific that only fully work for the language of windows with which this tool was used on. This is not really a problem, because these entries are not vital for the removal of components. So, you can still use these xmls on other languages of Windows. wordpad.xml
  23. @blue, I actually found another bug. There are registry keys that actually end with an asterisk (*). Notably I have found this one (but there are a lot of others in the same registry tree): HKLM\SYSTEM\ControlSet001\Control\WDI\Scenarios\{fd5aa730-b53f-4b39-84e5-cb4303621d74}\Instrumentation\{13480a22-d79f-4334-9d32-aa239398ad3c};* The error is as follows (from the log): Registry key pathControlSet001\Control\WDI\Scenarios\{fd5aa730-b53f-4b39-84e5-cb4303621d74}\Instrumentation\{13480a22-d79f-4334-9d32-aa239398ad3c};* Registry part7system Registry contains wildcard Unexpected error: Requested registry access is not allowed. =====FINISHED RemoveComponenetsLog.txt======== I am not sure why this happens, but I guess its some kind of conflict with 7Customizer trying to resolve the path (because of the *) and sending some wrong path to setaclx64. The problem is that this is actually not the last key that should be removed but 7Customizer stops adding keys to the delete list and jumps straight to executing the .bat file. This also skips any following selected components. I have attached the xml file with which this happens and a log. Edit: I have done some research. It seems that the components.bat file is not written correctly (the following code is from another xml, but it shows the same problem): work\setaclx64 -on "HKLM\7software\Microsoft\CTF\TIP\{3697C5FA-60DD-4B56-92D4-74A569205C16}\LanguageProfile\0x0000ffff\{B77BF1FB-C8B4-490F-A5FE-AFE99BBBB490}" -ot reg -actn setowner -ownr "n:S-1-5-32-544;s:y" -rec yes work\setaclx64 -on "HKLM\7software\Microsoft\CTF\TIP\{3697C5FA-60DD-4B56-92D4-74A569205C16}\LanguageProfile\0x0000ffff\{B77BF1FB-C8B4-490F-A5FE-AFE99BBBB490}" -ot reg -actn ace -ace "n:S-1-5-32-544;p:full;s:y;i:so,sc;m:set;w:dacl" -rec yes reg delete "HKLM\7software\Microsoft\CTF\TIP\{3697C5FA-60DD-4B56-92D4-74A569205C16}\LanguageProfile\0x0000ffff\{B77BF1FB-C8B4-490F-A5FE-AFE99BBBB490}" /f work\setaclx64 -on "HKLM\7system\ControlSe The first three lines are from another key that is removed successfully. The last line is from the key with ";*" at the end. I have tried the commands manually. The setaclx64 commands work but unfortunately the reg delete command does nothing. What does work however, is deleting it with a reg file: Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\7system\ControlSet001\Control\WDI\Scenarios\{fd5aa730-b53f-4b39-84e5-cb4303621d74}\Instrumentation\{13480a22-d79f-4334-9d32-aa239398ad3c};*] The workaround for now is to omit these keys from the xml files. speechsupport.xml log.txt.zip
  24. @blue I think I made a mistake there. I Thought that, since some folders in an installed, say german version of Windows 7 have different folder names than the english version, they must also be different in the install.wim file (so instead of "Program Files" we'd have a folder called "Programme"). But I just got my hand on a german install dvd and these folders have the same names as in the english version. I guess the names are changed during install somehow (MUI probably?). So there's nothing wrong. Sorry about that. I will post more xml files in the xml thread. I've released version 0.8 of xml creator. It's mostly bug fixes and a litte less tedious to use (less switches to muck about). See the release notes in the first post. Cheers!
×
×
  • Create New...