Jump to content

harkaz

Member
  • Posts

    246
  • Joined

  • Donations

    0.00 USD 
  • Country

    Greece

Everything posted by harkaz

  1. A preview of the tool's help text: (Ctrl+C escape character is disabled). Windows 7 Resetbase Tool Version 1.0 Copyright © 2016 Charalampos Kazakos. All rights reserved. This tool minimizes the disk footprint of the Windows 7 Component Store (winsxs). It removes non-active versions of every installed winner in the component store. In addition, the tool will remove all service pack backups and superseded updates. Syntax: rebase -online|-image:path [-extreme|-decompress-base] -online: Cleanup local system winsxs folder. Alternatively use the -image argument. -image:path: Cleanup the winsxs folder of an offline Windows Image. Provide path to the 'WINDOWS' directory inside the mounted image directory. Optional Arguments: -extreme: This option will compress all superseded base versions in the component store to save even more space. This option should work flawlessly with the vast majority of future updates, with the exception of service packs. Such cumulative updates are 'required for future installation of updates' and may force compressed, superseded base versions to become active, causing system instability. It may also make future servicing of updates slightly slower on systems with lower resources. -decompress-base: The effects of the -extreme option can be reverted at any time by using the -decompress-base argument instead of the -extreme argument. You must do this before installing any future service packs on your system. After installing such updates you can recompress base versions with the -extreme argument again. IMPORTANT: Save your work and close all open programs if you are using the -online option. Your system will automatically restart when cleanup is complete. CAUTION: You will be unable to uninstall previously installed updates after running this tool. Is the text clear to you?
  2. Some additional tests I performed today.. Windows Anytime Upgrade works perfectly. MUI installation after running rebase will work in most scenarios, but it is not supported. Even Microsoft recommends that you install MUIs before installing any update to OS. OK, time for IE/WMF testing...
  3. It should be an issue with SPs only. Since SP1 is the last one for Windows 7, I don't think there will be any updates forcing the superseded base versions. Still, to be 101% safe, the base compression option will be offered seperately.
  4. Rebase Alpha Build has been reached. Features to add until Beta: - The base compression option will cause issues with future service pack installation, because the SP installer (actually the servicing stack) forces superseded (by post-RTM updates) base (RTM=6.1.7600.16385) versions to become active again and it's not clever enough to see it is compressed. Consequently the base compression will be performed only if the OPTIONAL -extreme switch is used. You will be able to decompress the base at any time using the OPTIONAL -decompressbase switch and properly install any service pack/big update rollups that cause this behaviour. After installing such packages you will be able to recompress with -extreme switch. (Marking update as permanent does not fix this). - Remove superseded packages before scavenging winners and marking all updates as permanent. From Beta to Final: Error handling, Resources, Documentation, EULA, Release Trailer.
  5. Of course will provide you with all necessary information. I will also create a video presenting the program.
  6. Service Pack install is actually the ultimate test of image serviceability. Because it updates almost every Windows Component, one can get a very good idea of what "extreme" errors can popup. Even Software Licensing Service has complained, cancelling the SP installation at 90%! (Working on this). As you understand I'm close to finishing the actual coding. Then i will add some error handling and will hopefully release rebase.
  7. Ensuring serviceability of future updates is a problem even after satisfying SFC/CheckSUR/Windows Update. I am working on it right now.
  8. That's really tiny. You need to clean registry, otherwise you risk breaking future installation of components. May I ask which components do you remove to get such a small image?
  9. The SP1 RTM (MS) x86 image winsxs folder size is about 3985 MB. This is the "theoritical" minimum we could reach without removing components. Of course we cannot reach that size because of the compressed base versions and catalog/manifest files that must be present. But I can further reduce size: 90 MB in the specific image by cleaning the ManifestCache folder. About 60 or more MBs by cleaning up inactive version Manifests in the Manifest folder. Compressing older servicing stack versions (currently not done) will reduce size by about 40 MB. *Also I consider compressing some inactive MSIL versions may reduce size even more, haven't tested yet. I don't want to want to touch any language packs or staged components that might be required during Windows Anytime Upgrade (although almost nobody uses it, I am perfectionist).
  10. In MBs: 6959 MB reduced to 4914 MB (winsxs folder). Still working on registry, curious to see whether WU/CheckSUR will accept some additional changes I will attempt in the following days.
  11. UPDATE: I just optimized the code and the tool runs MUCH faster than before. Let's see if algorithm is fixed...
  12. @vinifera I disagree with the fact that the tool does not cleanup so much on Windows 7. I said that with Windows 8.1 and later because there is /resetbase functionality already available that cleans up most redundant stuff. The first proper internal test of rebase is complete: No file checksum errors were found. Need to fix the registry cleanup algorithm so as not to delete registry keys required by multiple components. I will retest after that, because servicing of future updates currently is too slow due to these inconsitencies. On a syspreped Win 7 Home Premium image (offline) with ~520 non-superseded updates fully installed, the winsxs size went down from 7296274269 bytes to 5153536273 bytes. This is a 29.36% reduction of winsxs size. Again, components inconsitencies are only registry-related, so this seems to be final. @bphlpt Yes, I plan to enable support for online and offline use. Windows PE cannot be serviced online.
  13. The goal is to avoid any error messages from sfc or checksur or Windows Update. I won't publish rebase unless it's 100% clean in this respect. Peering through registry is essential to understand what should be removed and what should be kept.
  14. "most of .7600. are not needed, same goes for build numbers below 21xxx" Not always true, actually only the active (minimum+latest) versions of updates are needed. If you want 21xxx only, you must force LDR installation. In my reference image I have installed .NET Framework 4.6 + all of its updates + ~520 Windows 7 updates (including optional components and request-only hotfixes). I haven't properly tested it yet, but rebase reduces the image size by about 30%. Because LDR versions are active for specific components only, the 7601.21xxx+ files are kept in such cases. In some other updates, however, GDR versions are active, so the LDR versions are removed. In the end, the image contains a mix of GDR/LDR versions. Base (minimum) versions are compressed to further reduce disk size. Rebase does not remove any components. Specific components like .NET, CLR, ServicingStack, common controls library, wingdi require all versions to be present so they are not touched. Probably we could get lower than 800MB for x86. I will test it later.
  15. Plus a side-note: The tool currently takes about 90 minutes to cleanup a x86 image on 1 thread, estimate 3 hours for x64 image. I guess this could be improved somehow.
  16. jaclaz As a med student, I couldn't agree more. The first pre-alpha tests had failed completely (program crashed) but now I'm on good track (debugging finished + important bugs fixed). I'm looking forward to the results of the first "proper" test. A winsxs secret I came across and caused me lot of trouble: - There are hardlinks inside the Winsxs folder between identical files, even if they are in different folders.
  17. First phase of coding is complete. Preliminary (pre-alpha) testing has started. Add to beta testing phase (TODO-list): Test SP1 installation after running tool on Windows 7 RTM
  18. I will test various scenarios before distributing the tool. Some examples include: Basic testing: Windows Update, SFC, CHECKSUR, installation/uninstallation of future updates.IE9, IE10 / WMF 3.0, WMF 4.0: multiple versions have been installed before using rebase.Windows Update Cleanup hotfix compatibility with rebase toolScenario: Language pack installation after running rebase tool.Scenario: Removal of Windows components after running rebase tool.Scenario: Cleanup of LDR-only system (only LDR branches of updates have been installed).This will enable me to prepare the documentation: what's supported, what's not supported and what must not be done. Support of the program is not life-time. I will keep supporting it for a limited time, at the moment I estimate this will be 1 year. Of course, if serious bugs are discovered (I hope not) support period will be extended. I recommend trying the tool first in a virtualized environment, preferably with a generic "golden" deployment image.
  19. Well, not exactly the same. The price will be rather low (I think most people could afford a price tag of $5 - $10). It's the first time I try to sell an application. It's more like an experiment to see how many will be interested and how easy it is to make profit. There is another tool for update cleanup that seems to be reliable (ntLite), but it's more expensive than this. I hope that the the special features implemented and the low price tag will make the tool attractive.
  20. I've already found the registry entries. I have started coding the program because it seems there is no free alternative that's good enough.
  21. Never delete the folders in winsxs without the appropriate changes in registry. Doing so will create inconsistencies in the component store. So a simple file/folder cleanup is not enough. Let me present the features of my method:1. File and registry cleanup, keeps active and base versions. 2. Does not touch runtimes. 3. Compresses base versions 4. Checksur and sfc are happy.
  22. I have just found one free tool called Dism++ that claims to clean the winsxs folder as well. So I tested it and I have to comment on it: After performing a /resetbase command on my computer I asked this tool to scan winsxs for elements that can be removed. I took a look at what is staged for removal: C:\Windows\winsxs\amd64_Adobe-Flash-For-Windows_31bf3856ad364e35_10.0.10586.0_none_b8257c5f13e6c6fa\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_none_99b61f5e8371c1d4\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_none_08e3747fa83e48bc\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_none_08e61857a83bc251\ C:\Windows\winsxs\amd64_Microsoft-OneCore-TetheringService_31bf3856ad364e35_10.0.10586.0_none_1a35b417915337a4\ C:\Windows\winsxs\amd64_Microsoft-System-User-Service_31bf3856ad364e35_10.0.10586.0_none_17dde1eb1d53e210\ C:\Windows\winsxs\amd64_Microsoft-Windows-Audio-AudioCore_31bf3856ad364e35_10.0.10586.0_none_03255c7f8ef6f30b\ C:\Windows\winsxs\amd64_Microsoft-Windows-Branding-Base-Core_31bf3856ad364e35_10.0.10586.0_none_cef6ae5dc08d9b14\ C:\Windows\winsxs\amd64_Microsoft-Windows-DeviceCensus_31bf3856ad364e35_10.0.10586.0_none_3bf807e2a4ddfeac\ C:\Windows\winsxs\amd64_Microsoft-Windows-DirectComposition_31bf3856ad364e35_10.0.10586.0_none_29fa3a13ec1a5796\ C:\Windows\winsxs\amd64_Microsoft-Windows-DirectUI_31bf3856ad364e35_10.0.10586.0_none_437b8c0598ed32a4\ C:\Windows\winsxs\amd64_Microsoft-Windows-GDI_31bf3856ad364e35_10.0.10586.0_none_3658b0d104dd907d\ C:\Windows\winsxs\amd64_Microsoft-Windows-ieframe_31bf3856ad364e35_11.0.10586.0_none_25197fd0c3501a51\ C:\Windows\winsxs\amd64_Microsoft-Windows-IE-HTMLRendering_31bf3856ad364e35_11.0.10586.0_none_d3ba25cd375a8c24\ C:\Windows\winsxs\amd64_Microsoft-Windows-IE-RuntimeUtilities_31bf3856ad364e35_11.0.10586.0_none_081abd8aa1b5414b\ C:\Windows\winsxs\amd64_Microsoft-Windows-IE-RuntimeUtilities_31bf3856ad364e35_11.0.10586.3_none_081ac33ca1b538c0\ C:\Windows\winsxs\amd64_Microsoft-Windows-Internal-Bluetooth_31bf3856ad364e35_10.0.10586.0_none_022e168a51bc3ba7\ C:\Windows\winsxs\amd64_Microsoft-Windows-MediaFoundation_31bf3856ad364e35_10.0.10586.0_none_28e4c794b718ddb4\ C:\Windows\winsxs\amd64_Microsoft-Windows-MFCore_31bf3856ad364e35_10.0.10586.0_none_7d5e3e8e0188cba3\ C:\Windows\winsxs\amd64_Microsoft-Windows-MFMKVSrcSnk_31bf3856ad364e35_10.0.10586.0_none_d37618443c88c782\ C:\Windows\winsxs\amd64_Microsoft-Windows-MicrosoftEdge_31bf3856ad364e35_10.0.10586.0_none_9dbd56cc9a76ad54\ C:\Windows\winsxs\amd64_Microsoft-Windows-MicrosoftEdge_31bf3856ad364e35_10.0.10586.3_none_9dbd5c7e9a76a4c9\ C:\Windows\winsxs\amd64_Microsoft-Windows-OOBE-Machine_31bf3856ad364e35_10.0.10586.0_none_9a03e28dad88dc72\ C:\Windows\winsxs\amd64_Microsoft-Windows-OS-Kernel_31bf3856ad364e35_10.0.10586.0_none_f8b5f9f95e7a4599\ C:\Windows\winsxs\amd64_Microsoft-Windows-OS-Kernel_31bf3856ad364e35_10.0.10586.3_none_f8b5ffab5e7a3d0e\ C:\Windows\winsxs\amd64_Microsoft-Windows-Provisioning-Core_31bf3856ad364e35_10.0.10586.0_none_44549d8ad9dc8106\ C:\Windows\winsxs\amd64_Microsoft-Windows-PurchaseDialog.Core_31bf3856ad364e35_10.0.10586.0_none_bc237f8c995fa63f\ C:\Windows\winsxs\amd64_Microsoft-Windows-Scripting-JScript_31bf3856ad364e35_11.0.10586.0_none_4356fbc80c556815\ C:\Windows\winsxs\amd64_Microsoft-Windows-Security-Kerberos_31bf3856ad364e35_10.0.10586.0_none_735c75845b24c329\ C:\Windows\winsxs\amd64_Microsoft-Windows-shell32_31bf3856ad364e35_10.0.10586.0_none_f8aec336bc5320f0\ C:\Windows\winsxs\amd64_Microsoft-Windows-TDI-Over-TCPIP_31bf3856ad364e35_10.0.10586.0_none_76c360a4866cdbe8\ C:\Windows\winsxs\amd64_Microsoft-Windows-TwinUI_31bf3856ad364e35_10.0.10586.0_none_002d100963b85cd3\ C:\Windows\winsxs\amd64_Microsoft-Windows-TwinUI-AppCore_31bf3856ad364e35_10.0.10586.0_none_1e4e560a052a50be\ C:\Windows\winsxs\amd64_Microsoft-Windows-Wimgapi_31bf3856ad364e35_10.0.10586.0_none_15813ac2bf35bce7\ C:\Windows\winsxs\amd64_Microsoft-Windows-Win32k_31bf3856ad364e35_10.0.10586.0_none_4579121344ddfcf1\ C:\Windows\winsxs\amd64_Microsoft-Windows-WindowUI_31bf3856ad364e35_10.0.10586.0_none_93cfbffe8decd633\ C:\Windows\winsxs\amd64_Microsoft-Windows-Winsock-Core_31bf3856ad364e35_10.0.10586.0_none_646ddaeb08c45281\ C:\Windows\winsxs\amd64_Microsoft-Windows-WwanSvc_31bf3856ad364e35_10.0.10586.0_none_2df42f44c96db53e\ C:\Windows\winsxs\amd64_System.Data_b77a5c561934e089_10.0.10586.0_none_fc06f5c44bedccd8\ C:\Windows\winsxs\wow64_Adobe-Flash-For-Windows_31bf3856ad364e35_10.0.10586.0_none_c27a26b1484788f5\ C:\Windows\winsxs\wow64_Microsoft-Windows-Audio-AudioCore_31bf3856ad364e35_10.0.10586.0_none_0d7a06d1c357b506\ C:\Windows\winsxs\wow64_Microsoft-Windows-DirectComposition_31bf3856ad364e35_10.0.10586.0_none_344ee466207b1991\ C:\Windows\winsxs\wow64_Microsoft-Windows-DirectUI_31bf3856ad364e35_10.0.10586.0_none_4dd03657cd4df49f\ C:\Windows\winsxs\wow64_Microsoft-Windows-GDI_31bf3856ad364e35_10.0.10586.0_none_40ad5b23393e5278\ C:\Windows\winsxs\wow64_Microsoft-Windows-ieframe_31bf3856ad364e35_11.0.10586.0_none_2f6e2a22f7b0dc4c\ C:\Windows\winsxs\wow64_Microsoft-Windows-IE-HTMLRendering_31bf3856ad364e35_11.0.10586.0_none_de0ed01f6bbb4e1f\ C:\Windows\winsxs\wow64_Microsoft-Windows-Internal-Bluetooth_31bf3856ad364e35_10.0.10586.0_none_0c82c0dc861cfda2\ C:\Windows\winsxs\wow64_Microsoft-Windows-MediaFoundation_31bf3856ad364e35_10.0.10586.0_none_333971e6eb799faf\ C:\Windows\winsxs\wow64_Microsoft-Windows-MFCore_31bf3856ad364e35_10.0.10586.0_none_87b2e8e035e98d9e\ C:\Windows\winsxs\wow64_Microsoft-Windows-MFMKVSrcSnk_31bf3856ad364e35_10.0.10586.0_none_ddcac29670e9897d\ C:\Windows\winsxs\wow64_Microsoft-Windows-Scripting-JScript_31bf3856ad364e35_11.0.10586.0_none_4daba61a40b62a10\ C:\Windows\winsxs\wow64_Microsoft-Windows-Security-Kerberos_31bf3856ad364e35_10.0.10586.0_none_7db11fd68f858524\ C:\Windows\winsxs\wow64_Microsoft-Windows-shell32_31bf3856ad364e35_10.0.10586.0_none_03036d88f0b3e2eb\ C:\Windows\winsxs\wow64_Microsoft-Windows-TwinUI_31bf3856ad364e35_10.0.10586.0_none_0a81ba5b98191ece\ C:\Windows\winsxs\wow64_Microsoft-Windows-TwinUI-AppCore_31bf3856ad364e35_10.0.10586.0_none_28a3005c398b12b9\ C:\Windows\winsxs\wow64_Microsoft-Windows-Wimgapi_31bf3856ad364e35_10.0.10586.0_none_1fd5e514f3967ee2\ C:\Windows\winsxs\wow64_Microsoft-Windows-WindowUI_31bf3856ad364e35_10.0.10586.0_none_9e246a50c24d982e\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\ C:\Windows\winsxs\x86_Microsoft-Windows-IE-RuntimeUtilities_31bf3856ad364e35_11.0.10586.0_none_abfc2206e957d015\ C:\Windows\winsxs\x86_Microsoft-Windows-IE-RuntimeUtilities_31bf3856ad364e35_11.0.10586.3_none_abfc27b8e957c78a\ C:\Windows\winsxs\x86_System.Data_b77a5c561934e089_10.0.10586.0_none_43b42c9b6069f5de\ C:\Windows\Winsxs\backup\ C:\Windows\Winsxs\Temp\ (DO NOT REMOVE IF PENDING OPERATIONS ARE PRESENT) If I run this tool (I didn't) I would destroy servicability of my image in the long run. First of all, an less important mistake: C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_none_99b61f5e8371c1d4\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_none_08e3747fa83e48bc\ C:\Windows\winsxs\amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_none_08e61857a83bc251\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\ C:\Windows\winsxs\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\ are all removed, which terribly wrong. There are apps that depend on these multiple CRT versions. I have even found code that checks for the presence of these versions. The BACKUP folder is also removed. Let's be clear about it: you shoudn't remove this folder if you want your system to be reliable under every possible scenario. This folder contains important backups of the current versions of component manifests. We simply don't touch this, it is automatically cleaned up. Another more important error: The program deletes base versions of installed files. How can you service the system when an update needs these files to apply the deltas? Probably you should ask the developers. The only improvement you can make over resetbase in windows 8.1+ is to PROPERLY remove (files+registry) files versions that have been superseded, but they neither base versions or active ones (I added bold to the list above to indicate what should be removed). This would save exactly 72 MB in my case. So I have rejected another winsxs cleanup tool, and unless someone finds a good alternative for Windows 7 I will proceed with my tool.
  23. Rebase is a command-line tool I created in 2016 to facilitate component store cleanup after installation of Windows 7 updates. This will minimize the size of your Windows 7 deployment images and free up disk space on your Windows 7 systems. The product was originally available for a small fee, but now - more than 1 year after its original release - I decided to give it for free, but without support. Any requests for custom support will be ignored. Download link: https://drive.google.com/open?id=0B7k-l_4omFECWE5DSklyWTBVVDA Version: 1.1.30.1 Password: scarface WARNING: REBASE MUST BE USED TO CLEAN UP ONLY WINDOWS 7 SYSTEMS OR INSTALLATION IMAGES! FOR MAXIMUM RELIABILITY, THE CONVENIENCE UPDATE ROLLUP (KB3125574) MUST BE APPLIED TO THE TARGET SYSTEM, BEFORE USING THIS TOOL! Documentation is a bit outdated; use the included program PowerRun instead of the referenced one (RunAsTI) to launch an elevated command prompt on all systems (including Windows 10)
  24. @egrabrych It turns out that the update installation program does not check the CRC32, but it needs these 8 digits to be there to recognise update.ver as valid. It checks MD5 and file size.
×
×
  • Create New...