• Welcome to Maher's Digital World.

Windows 7 Support

Started by Maher, June 26, 2011, 07:56 PM

Previous topic - Next topic

harkaz

Component name: amd64_microsoft-windows-shell32-31bf3856ad364e35_...

Active version: 6.1.7601.18952
Base version: 6.1.7601.17514

Keep at least these two versions and MODIFY registry (MUST do this offline).

I haven't tested whether the corresponding LDR (usually the greatest version installed, 6.1.7601.23155) is needed to satisfy WU, although it's not referenced in registry. Based on what I've read the LDR version is not needed.

This procedure may cause reliability issues while uninstalling the corresponding update. I'm trying to find a way to disable the update uninstallation.

harkaz

#1271
UPDATE: These steps do not fully satisfy sfc or checksur. I'm working on it.

UPDATE2: Remove any references to non-active versions from HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect. This satisfies sfc completely. I'm testing checksur.

Windows Update seems to be satisfied after removing LDR payload from winsxs.
LDR seems to be completely redundant for most users, unless forced by the installed updates.

UPDATE 3: CheckSur (dism /online /cleanup-image /scanhealth) will find those inconsistencies in MUM files and fix them. Consequently, this method is not perfect, but this is due to the MUM files. It is deeper than /resetbase on Windows 8.1+. A /resetbase equivalent is not that efficient especially on Windows 7 because there are too many updates installed (500+).

Still working on it...

Vasudev

Quote from: harkaz on November 12, 2015, 10:10 PM
UPDATE: These steps do not fully satisfy sfc or checksur. I'm working on it.

UPDATE2: Remove any references to non-active versions from HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect. This satisfies sfc completely. I'm testing checksur.

Windows Update seems to be satisfied after removing LDR payload from winsxs.
LDR seems to be completely redundant for most users, unless forced by the installed updates.

UPDATE 3: CheckSur (dism /online /cleanup-image /scanhealth) will find those inconsistencies in MUM files and fix them. Consequently, this method is not perfect, but this is due to the MUM files. It is deeper than /resetbase on Windows 8.1+. A /resetbase equivalent is not that efficient especially on Windows 7 because there are too many updates installed (500+).

Still working on it...
Normally updates are stored in $Patchcahe$ right? Recently I cannot find update cache on w7. One problem i observed with checkSUR is misidentifies IE spell check & something related to language packs packages are missing.

scarface

QuoteActive version: 6.1.7601.18952
After the latest updates it's indeed this version in system32.
As for sfc or checksur stuff, I'm not sure it's really important (as long as no inconstancy is detected by wu?). What's more, updates are not meant to be removed and if the content of the patchcache folder is deleted, they can't be removed anyway.
QuoteNormally updates are stored in $Patchcache$ right?
I think they are downloaded in windows/softwaredistribution/download, and extracted in Patchcache. The latter is a supperhidden folder (system files).

harkaz

#1274
Let's clarify something: $Patchcache$ is the super hidden folder for MSI (Windows Installer) updates cache, not Windows update packages.

Repairing Windows Installer registry/cache is another issue and is related to the specific Windows installer features that may be problematic.

C:\windows/softwaredistribution/download is the folder where windows updates are downloaded via Windows Update and are executed from there.

Well, I need to add an extra step for my method. You need to load the COMPONENTS registry hive offline (located at system32\config) and remove the corresponding keys for the removed payloads (the removed winsxs folders) from the following paths:

\DerivedData\Components\
\CanonicalData\Deployments\
\CanonicalData\Catalogs

Example:

The component in \DerivedData\Components\amd64_0098220e79e0a2e0e0c4e4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_none_816a595d0ac72080 key with a "c!0098220e79e..4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_816a595d0ac72080" REG_BINARY zero-length value (without the quotes) means that this component corresponds to:

\CanonicalData\Deployments\0098220e79e..4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_816a595d0ac72080

From the \CanonicalData\Deployments\0098220e79e..4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_816a595d0ac72080\CatalogThumbprint string value we get the corresponding catalog name (catalog filename in winsxs\Catalogs) and search for it under \CanonicalData\Catalogs. In our example that would be:

\CanonicalData\Catalogs\166c8b2772fed913bab900630144f528f54145abc4bd7dcf0bffcc7f63aab61f

Under this key we find entries for the components that are validated by this catalog. We delete the entry of the component we are removing, that is: c!0098220e79e..4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_816a595d0ac72080

Finally we check if there is a manifest file in \winsxs\Manifest named:

amd64_0098220e79e0a2e0e0c4e4dbb55e085e_31bf3856ad364e35_6.1.7601.23183_none_816a595d0ac72080.manifest

If such manifest exists (this may not be true with all components, we remove it as well).
Usually we don't need to check the winsxs\Backup folder as well, because this folder only contains the active versions.

I haven't checked if removing the COMPONENTS keys affects Windows Update, but it may be necessary to prevent reliability issues.

The final test to make sure this method can be perfect is modifying the MUM files. That would allow removal of any redundant version references and marking of the updates as Permanent. MUM files are located in \Windows\servicing\Packages

Of course these files are Microsoft-signed, so our only hope would be that Windows 7 accepts a different digital signature for the corresponding catalog files (not yet tested). Updating the catalog files is tricky: we replace-in-place the SHA1 hash of the MUM file with the updated file hash in all the corresponding catalogs. We update the catalogs in all the proper places:

\Windows\servicing\packages
\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
\Windows\winsxs\Catalogs (because the file names are different an easy way to do it is to compare the hashes of all the catalogs in there against the original CAT file hash we are updating).

I haven't TRIED this trick with the catalogs yet, I will do soon.


If this works, someone (I don't think that will be me  :P  :D) will have to develop an app that will automate this process. I will try to prepare a detailed explanation of my idea to help anyone interested.

harkaz

#1275
Tested the catalog trick and concluded that it's not useful, because checksur complains about catalog corruption.

With the original MUM/CAT files sfc /scannow works ok.

Now checking to see if fixing the components key is enough to make checksur stop complaining.
Then I'll find another way to force permanence.

UPDATE: OK! Fixing the COMPONENTS key fixes all checksur errors. MUM files play no role after all.
Let's make it PERMANENT.

Vasudev

Yes, harkaz mum files don't play a role for verifying integrity issues. Only important files/folders in winsxs are folders that start with amd64XXXXX which is followed by alphanumerical.
After MS backported a dism feature to w7 I haven't seen a copy of update in $patchcache$. Moreover current winsxs size is 9GB(including hardlinks & all other stuffs of Visual Studio) which is quite impressive. On my sister's lappie installed with win8.1 SxS size was the same after using /startcomponentcleanup what downsized the folder was using /resetbase which reduced the size from 9Gigs to 7.5Gigs(actual size).

DkC

Sorry is there any way to download this at the moment? Both of the mirrors are down for the 32-bit version. I would feel really bad if someone recently posted an alt. link somewhere here. (I have no idea how to search the thread.)
Other questions I have at the moment are:

  • Would you suggest Windows 8.1 over Windows 7?
  • Is it possible to get Windows 10 officially for free for another machine?(I own Win7 on this laptop, but I don't have an installation disc)
  • Would you recommend Windows 10 over Windows 7 or 8.1?
  • If I only have 4GB of RAM, is it okay to use a 64-bit system?

Thanks.

Vasudev

Quote from: DkC on January 03, 2016, 03:32 PM
Sorry is there any way to download this at the moment? Both of the mirrors are down for the 32-bit version. I would feel really bad if someone recently posted an alt. link somewhere here. (I have no idea how to search the thread.)
Other questions I have at the moment are:

  • Would you suggest Windows 8.1 over Windows 7?
  • Is it possible to get Windows 10 officially for free for another machine?(I own Win7 on this laptop, but I don't have an installation disc)
  • Would you recommend Windows 10 over Windows 7 or 8.1?
  • If I only have 4GB of RAM, is it okay to use a 64-bit system?

Thanks.
Since you've a valid license, win 10 is a better option all the way and you don't need to worry about keeping it updated or making slipstreamed version because w10 auto updates to latest version. Yeah 4GB should be basic option by now, of course you could buy a RAM stick right now, since ddr4 is slowly entering the market to supersede ddr3/ddr3L.
Make sure, you perform an in-place upgrade over win 7 and not clean install and also keep in mind to create an outlook account for storing license to onedrive for future use. After upgrading, you can perform clean install and start from scratch.

wallofasgard

#1279
Quote from: DkC on January 03, 2016, 03:32 PM
Sorry is there any way to download this at the moment? Both of the mirrors are down for the 32-bit version. I would feel really bad if someone recently posted an alt. link somewhere here. (I have no idea how to search the thread.)
Other questions I have at the moment are:

  • Would you suggest Windows 8.1 over Windows 7?
  • Is it possible to get Windows 10 officially for free for another machine?(I own Win7 on this laptop, but I don't have an installation disc)
  • Would you recommend Windows 10 over Windows 7 or 8.1?
  • If I only have 4GB of RAM, is it okay to use a 64-bit system?

Thanks.

You could check for MD5 or Sha-1 hashes on the first page and then surf the internet for any available download links.

Provided it for you:

* Hashes of ISO file (April 2015):

32-bit:
CRC32: 54FB9E29
MD5: 567EF2DDA6A24A24C5E9F40AF0420F46
SHA-1: A1F0E711E296FA6C619D8E77AA8953F33D046999

64-bit:
CRC32: 739D42B4
MD5: 3DAE6FB5467D57CCA8C8963AC944E1EB
SHA-1: 042FCAFAAA629B859B5F7D40088D2CE75578A746

As for the update,you can use the update bundle called "simplix" to update your Win7 ISO (though i am clueless on how to do that) or to update your live Windows 7 system.

If you have 4GB RAM,it is a very good idea to go for 64bit System to maximize the 4GB RAM and also for you to be able to add more RAM without any problem.

I am also a casual gamer and so far,i would recommend Win7 or Win 8.1 for better compatibility.If you are playing any specific heavy game,maybe you should visit their official forum to verify the game compatibility with higher OS (Windows 10).I personally wont use Windows 10 for my games for now since i am facing issues that takes weeks for the publisher to fix (example of this is the X-trap that one of my game use).

But...if you find Win10 to be flawless with your Games,you should use it and i will do the same thing for the near future.