GrofLuigi Posted April 29, 2007 Posted April 29, 2007 Hi,This is something I noticed and could not get around it. First, let me explain my setup: it's XP SP2 with RyanVM Update Pack slipstreamed and also many unofficial (from xable's) or official hotfixes (the installation was made few months ago), which means there was lot of updating of individual windows files going on (I tried HARD not to overwrite windows files with lower version, and I think I succeeded). As a consequence of this, now there are many obsolete .cat files in catroot directory and I thought "let's see what's going on".I fired qfecheck.exe /l /v with an intention to delete obsolete entries (kbxxxxxx) in registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates and the corresponding file in catroot. It worked.BUT! After 200 entries, all subsequent ones appear as "not valid in the system catalog". If I delete some entry above, the invalid kb starts one below... I hope I explained well.So... this appears to be a Microsoft bug. I'm sure it's related to Nlite's "delete cat files" function (which wasn't applied during slipstream), but can it circumvented somehow? Or we are not allowed to install more than 200 hotfixes? Can I delete all cat files and/or registry entries? Will that create any problems? I noticed that recently, although driver signing policy is set to 'ignore' , ALL installations of hardware, even signed ones (just plugging in a usb stick, which worked fine before, into another port) brings up the 'unsigned driver' dialog. Another example, I couldn't use my usb mouse because XP installed a 'HID device' instead of 'HID mouse' (which it installed before) because it thought it was signed and the other not (BOTH drivers come from microsoft - I never had any separate driver for the mouse!)I probably should mention that this installation works perfectly well and there were no problems whatsoever in about half a year I'm using it.GL
cluberti Posted April 29, 2007 Posted April 29, 2007 I guess you could call it a bug, but yes, there is a limit to how many hotfixes you can install before this happens (and once you hit the limit, you can't install any new hotfixes, either). Installing a hotfix "resets" this, so when SP3 comes out you would be back to hotfix 0 (with 200 to go).
GrofLuigi Posted April 29, 2007 Author Posted April 29, 2007 Ehemm... yes and no. I continued to dig this issue and after few more 'deletes' it settled on KB921401 (Portcls.sys). I reinstalled it, and although the file was binary identical to its predecessor, I guess it did something to the 'catalog' and after that there were much fewer errors. And I managed to eliminate (almost) all errors. KB923689 (wmvcore.dll, media player 9) appears invalid even after reinstallation (but I don't mind that). Important is that qfecheck finishes processing.Another, I think related issue is that I achieved this after deleting catroot2 folder (I remember reading this in some kb awhile ago). And when it rebuilds it, there are lots of eventid 623 entries in application log : source: ESENT;category: Transaction Manager; Description: Catalog Database (868) The version store for this instance (0) has reached its maximum size of 16Mb. It is likely that a long-running transaction is preventing cleanup of the version store and causing it to build up in size. Updates will be rejected until the long-running transaction has been completely committed or rolled back. Possible long-running transaction: SessionId: 0x039203C0 Session-context: 0x00000000 Session-context ThreadId: 0x000005BCGoogle search yielded nothing useful. While I would still like to know something more about it, it looks it it only happens while rebuilding the database and it causes some sort of delay, but doesn't stop processing.In conclusion:Maybe there is still some kind of limit, but yes, I was wrong, there is no hardcoded limit of 200 hotfixes (or cat files). Qfecheck now says 282 KBXXXXXX's current on system (I will post the log if necessary to prove, but wouldn't like to polute the forum too much). And if there was a bug at some time, maybe one of these hotfixes corrected it. GL
cluberti Posted April 29, 2007 Posted April 29, 2007 There is a limit - I settled on 200 in your case, because that's how many you had. I've seen 173 be the limit on some machines, and I've seen a machine with 317 hotfixes - it depends on the size of the .CAT files for the installed hotfixes. The database containing hotfix info is a jet database, and will ultimately hit a "limit" - it's not hardcoded, but you'll know when you get there, as you won't be able to install or scan for more hotfixes until you uninstall one .
GrofLuigi Posted April 29, 2007 Author Posted April 29, 2007 There is a limit - I settled on 200 in your case, because that's how many you had. I've seen 173 be the limit on some machines, and I've seen a machine with 317 hotfixes - it depends on the size of the .CAT files for the installed hotfixes. The database containing hotfix info is a jet database, and will ultimately hit a "limit" - it's not hardcoded, but you'll know when you get there, as you won't be able to install or scan for more hotfixes until you uninstall one .Yes, that was the idea, to delete obsolete CAT files*. That's why I started this 'experiment', to make some room. If only I cleaned up my house so often. GL* obsolete = suppose two kbxxxxxxx's install the same dll. The older .DLL is replaced, the .CAT isn't needed anymore (refers to unexistent .DLL), but it isn't removed automatically.
cluberti Posted April 29, 2007 Posted April 29, 2007 * obsolete = suppose two kbxxxxxxx's install the same dll. The older .DLL is replaced, the .CAT isn't needed anymore (refers to unexistent .DLL), but it isn't removed automatically.Only if you needed to uninstall multiple hotfixes in a row affecting said .dll would this be an issue.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now