Jump to content

justibus

Member
  • Posts

    67
  • Joined

  • Donations

    0.00 USD 
  • Country

    Switzerland

Everything posted by justibus

  1. @Blue: Thanks for the update! I tested it and it works fine now. There are only two more things: First, the sorting of the components is not correct (I mentioned it in my post above). Second, the current implementation does not handle different languages/localizations very well (see this post for a little explanation). Thanks for the great work!! [Edit: The second point is actually no issue. Everything should work just fine. Please ignore it]
  2. Hi, I've created and tested a few xml files. They work fine with 7Customizer 0.5.0a. One of them is a replacement for stickynotes.xml. It removes a few more manifest files. I'll be making more now that 7Customizer works correctly. They were created using the tool linked in the post above. Enjoy! components.zip
  3. No worry! As long as it's going forward, even at a slow pace, I'm happy. Ok. Cheers
  4. I also found a few bugs in the component removal feature. For one, files with spaces in their path won't be removed. I've posted them in the 7Customizer thread. I hope Blue fixes them soon. Otherwise this tool here is useless. Edit: I released version 0.7. The biggest change is that you can merger already created xml files now (with -m). Run create.exe -h for more info and some examples. Cheers!
  5. @Moonchilde: Well, the easiest way to start is to look in your start menu or program files folder and note something you want removed. Then start playing around with keywords. Use your imagination. For example, if I wanted to build a xml for snipping tool, I'd try the keywords snipping or snippingtool. If you see, that there are too few files or registry keys, or too many for that matter, go poke around in the files in your system and find out to which component the files belong. They often have some abreviations with which you can achive much better results. This is somewhat tedious work, but we won't get around that. It's true, that you need at least some understanding where what is located in Windows and a willingness to research a little bit (or sometimes more). Just give it a try and you'll dive deeper and deeper into the inner workings of the magic of Windows.
  6. I think I found a bug in the component removal feature: When deleting files, you use del, but you don't wrap the path in quotes. The following is from components.bat during the removal phase: del /f /q work\mount\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk The file is still there after installation (and also when opening the image with 7-zip) because of the whitespace in "Start Menu". I also noticed that you take ownership of Windows\winsxs\pending.xml every time it's in a xml file. Since there are a lot of manifest files, maybe that's a bit overkill? Incidentally, what do you do with the pending.xml? I always thought the lines that contain the string attribute from the xml file get deleted, but I still found them. Is that not yet implemented? Edit: I found another bug. The components in the components removal screen are not categorized correctly. It seems that in each category only one component is put, I presume the first xml file of that category encountered, and all other components are put into the first category, regardless of what the it says in the xml file. Cheers
  7. Well, thanks! @Blue: could you look into the 7Customizer components XML thread and look at my questions in the last post. Especially the one about localization is, I think, a show stopper right now. I have a few new features in development that should make creating xml files easier. Edit: I just released version 0.6. There are a few new features (see changelog in first post). Be aware that you will have to adjust the paths inside the settings.ini file (there are 2 more). Also, note the changes to point 1. on how to use the tool. If you want to automatically calculate the size of the component, you will have to decompress the install.wim (or one image therein). Cheers
  8. Good evening. I actually did embark on the endeavor of writing a tool for creating the xml files in a semi automatic way. The result can be seen here: xml creator for 7Customizer Maybe this will give this thread a little boost. During coding, I stumbled upon a few uncertainties that should be resolved (one also on the 7Customizer side) before continuing work on xml files: Where does HKEY_CURRENT_USER in manifest files get mapped to? There is no such key in an offline registry but I found a few in manifest files. What about localized folder names (such as "Program Files")? In the current xml format they are hard coded so we would need a different xml file for every localization. [This has been resolved.] for the pending.xml: wouldn't it be safer to include shortended manifest file names instead of just one word in the deleteLine attribute? For example, if we want to remove net.exe which is defined in amd64_microsoft-windows-net-command-line-tool_31bf3856ad364e35_6.1.7600.16385_none_ae2743278c281682.manifest (in my sources), then it would be best to use deleteLine="Microsoft-Windows-Net-Command-Line-Tool" which is the name attribute of the first <assemblyIdentity> element in the manifest file. This one is (I think) always unique so we don't accidentally delete needed lines from pending.xml. The downside is, that we have sometimes a lot more <File> elements in the xml. The current version of the above tool is implemented that way. Cheers
  9. I've written a tool to create xml files for the component removal feature. Check it out in this thread: xml creator for 7Customizer Cheers!
  10. Hi, I've written a command line tool to create xml files for the component removal feature of 7Customizer. There are still a few steps required to get a good working xml file, but this tool helps considerably. The xml schema for 7Customizer can be located here. [Note: Since version 0.9.90, the xmls created with this tool are no longer corresponding to that format. There are two changes: a new element <Manifests> was introduced to remove bloat and make component removal more reliable; and you can use more than one wildcard in an element path name. Unfortunately, this makes xmls created with this tool incompatible with 7Customizer 0.5.0c. This might change in the future.] The readme file from the download is below. Please read it carefully before downloading it! System requirements: - At least Windows XP (tested on XP and 7 pro) - Enough hard disk space for the extracted Windows 7 sources (around 12 GB) Please report any bugs to this thread or pm me. This software is provided as is and without warranty. Download There are two variants. One is the perl script itself and one is the binary. I recommend the binary version for anybody not currently having a perl interpreter running. But beware that the binary might not work. Perl scripts packet into a binary are not known for their protability. New release (Warning: This version is not compatible with 7Customizer any more. This might change in the future. Use old version below) Binary: Xml creator 0.9.96 Source: Xml creator 0.9.96 perl script Old release (compatible with 7Customizer 0.5.0c) Binary: Xml creator 0.9.20 Source: Xml creator 0.9.20 perl script Features for future versions - Ideas anybody? Version history version 0.9.96 - bugfix release - changed deleteLine format to include the parent of the line to delete; this allows for much cleaner automatic editing of files and hopefully a more intact component store. You need version 0.8 of the removal tool for this to work properly. - change: downgraded perl to 5.10.1 because of xml handling bugs - added drag and drop batch files; see above for instructions. version 0.9.95 - bugfix release - fixed bug: too many packages added when processing only resource manifest files (found by Moonchilde) version 0.9.94 - bugfix release - fix: rearranged packages into own xml element; you need version 0.7 of the component removal utility for xmls generated with this version version 0.9.93 - bugfix release - fix: added detection and removal of packages for which all components are added to the xml; this aleviates corrupted feature list and some windows update errors version 0.9.92 - bugfix release - change: remove .xml from logfile name - fix: small adjustment to the <Manifests> section version 0.9.91 - bugfix release - fixed bug in optimization - fix: too many registry entries were added - fix: path for manifest files was missing a \ - fix: packaging error: libexpat-1_.dll not found version 0.9.90 - warning: xmls generated with this version are no longer compatible with 7Customizer 0.5.0c - changed xml format a little, so there are less redundancies and removal catches more - changed: removed workarounds for bugs in 7Customizer - fix: a little code cleanup version 0.9.20 - added option -b FILE: automatically add or remove elements defined in FILE; see readme for more info - added DriverStore\FileRepository directories; reduces the amount of file elements for drivers - fix: refined check for invalid file names - fix: changed check for extracted install.wim - fix: crash found by tommyp while moving Wow6432Node from <values> to <keys> (there might be more) Cheers!
  11. Well, the most important xml elements in the manifest files are <file>, <registryKey>. If you analyse the destinationPath= in the <file> element, you can usually easily decide wether to delete the whole directory or just the file. Another element of interest is <memberships>. This one usually holds information for shortcuts in the Start menu. These you can usually find in \ProgramData\Microsoft\Windows\Start Menu\... As for making the xml files, I take one (ex. stickynotes.xml) and just manually edit it and afterwards validate it. So it's a lot of manual work. I think most of it could be automated. Unfortunately, my programming skills are very basic. If I find the time and inspiration, I might embark on such an endeavour to wirte a tool that constructs the xml automatically. But currently it's beyond me.
  12. I have tried to remove a few components. It seems to work quite well. There is one feature though I would really like to see. Instead of just allowing a wildcard at the end of a file name, directory, or registry key, it would be good to have the same fuctionality at the beginning. For example something like the following would be great if it worked: <File path="Windows\winsxs\Manifests\*microsoft-windows-zipfldr*.manifest" method="delete"/> This would remove all manifest files with microsoft-windows-zipfldr in the name. This way, we could remove a component for all architectures by simply putting one line in the xml file. Also, a component with multiple manifest files could be deleted much easier. As a side note, I think that the amd64 version of windows does not have all manifest files for the x86 version. For example, for windows defender, I only found manifests for amd64 and wow64 (which probably is the equivalent of x86 on a 32bit windows). And the answers to my questions from my post above are: 1) directories element is enough and 2) trial and error. Usually, it's the whole key that can be remove, but sometimes only certain values. I use the following rule of thumb: If a key has only values in connection with the component to be removed, it's save to delete the whole key. Cheers p.s.: Another feature request. Maybe it would be beneficial to devise some kind of versioning system so that we know, if the xml at hand is the latest one. The only problem with standard linear version numbers is that, if several people work on one xml file, there might be a confusion what the latest version is. So, maybe we could include the initials of the author or some unique id in there. I will post the few xml files once I have tested them a little. p.p.s.: I noticed that a lot of manifest files use short names in the form of amd64-microsoft-windows-t..-something*.manifest. This complicates things because many components don't just use one manifest file but multiple ones. And sometimes, I guess when the file name is too long, a short form is used. If you search for manifest files just using the component name, you might not find all of them. So it's best, if you use some kind of search tool that can search within text files (currently I use findstr since it comes with windows, but windows search will do just fine, if you configure it correctly). I also just noticed that some components have references in other manifest files (ex. wordpad is referenced in amd64_microsoft-windows-c..features-deployment*.manifest). So here is another feature request: Some way of deleting an element from a specific manifest file.
  13. Hi blue, I have a few questions: First, when I have a directory and all files and directories within this directory have to be deleted, do I have to put each file in the files element or is it enough, if I put that directory only in the directories element? Secondly, how can I find out from the manifest files, if I can delete a whole registry key or if I can only delete some value(s) from a key? I searched, but I didn't find any reference to these manifest files. And thanks by the way for this great app! Cheers
  14. I have done some more testing and found out that this problem has to do with my preset file(s). If I don't use a preset but select everything I want to be removed by hand, everything works fine. I don't know if my preset files are corrupted or if it is a bug with the internal handling of preset files in rt7lite. I have to add that after loading a preset file, I usually change something from the preset (as for example selecting additional components for removal). It might also be related to that. But otherwise, this is a terrific program!! Cheers!
  15. Hi, I have come accross a problem with rt7lite not completely unmounting the modified image. Rt7lite does not give an error or any indication, that anything didn't work as expected, but when I look into the folder where my win7 install files are located, there is an install.wim file in the root and one in sources. When I run dism /get-mountedwiminfo, it tells me that the install.wim is still mounted (in temp\RT_MOUNT). Also in the wim mount dir there still is a file SOFTWARE in the folder system32\config (this is, I think, the registry file for the HKLM\SOFTWARE tree). It seems that some program still has an open handle to that file so it cannot be unmounted (in the task manager I do not see any suspicious programs or processes). I have attached an exemplary lastsession.inf. I have run a few different variations of settings with the same results. Also, I ran one with just the components removal task and one whith just the tweaks task. It didn't happen with the tweaks, but it did with the components. So I guess it is a problem with a component. I did have a similar problem before (wim not unmounted correctly), but this was usually solved by running rt7lite with the same preset again (on a fresh win7 install source of course). Does anyone have any ideas? Thanks and cheers! Lastsession9.inf
  16. I don't quite know where to post errors, so I hope this finds its way to the people whom it concerns. I get an exception. It happens when I remove the tablet pc component under system. Here's the log: ************** Exception Text ************** System.InvalidCastException: Conversion from string "d:\tmp\rt_mount\program files (x" to type 'Boolean' is not valid. ---> System.FormatException: Input string was not in a correct format. at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) at Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean(String Value) --- End of inner exception stack trace --- at Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean(String Value) at RTWin7Lite.RT7LiteHome.permanentlyRemove() in D:\Ben\4-8-2010\Final_state\RTWin7Lite\RTWin7Lite\RT7LiteHome.vb:line 45335 at RTWin7Lite.RT7LiteHome.btn_log_Commit_Click(Object sender, EventArgs e) in D:\Ben\4-8-2010\Final_state\RTWin7Lite\RTWin7Lite\RT7LiteHome.vb:line 3237 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- RTWin7Lite Assembly Version: 1.0.8.0 Win32 Version: 1.0.8.0 CodeBase: file:///C:/Program%20Files/RT%207%20Lite/RTWin7Lite.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 8.0.0.0 Win32 Version: 8.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Runtime.Remoting Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll ---------------------------------------- RTWin7Lite.resources Assembly Version: 1.0.8.0 Win32 Version: 1.0.8.0 CodeBase: file:///C:/Program%20Files/RT%207%20Lite/en-US/RTWin7Lite.resources.DLL ---------------------------------------- System.Configuration Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- Accessibility Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll ---------------------------------------- Interop.IWshRuntimeLibrary Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Program%20Files/RT%207%20Lite/Interop.IWshRuntimeLibrary.DLL
  17. if you use unattended setup, you could try bootcfg with the appropriate switches (use 'bootcfg /?' to find out more; this article is a little short): http://support.microsoft.com/kb/291980 this command line utility only comes with xp pro. cheers
×
×
  • Create New...