Jump to content

Suggestion: Patch advisor


Recommended Posts

There are plenty of current projects in this forum which simply install plenty of updates to the system regardless of what you want or need.

It would be nice to have, instead of something that installs the upgrades, something that scans your Windows folder, checks the versions (or MD5s, or whatever) of the files, and tell you which updates you actually need. And maybe which ones you already have installed...

Then you can go to this forum and look up updates in one of the stickies. Would be much more useful than a massive service pack for people who are already mostly updated.

It can also be a really small download, since it doesn't actually contain updated files, only version information.

Link to comment
Share on other sites


In other words, something like the Microsoft Windows Update system.

Not exactly since:

1. The Microsoft Windows Update system is online, meaning you have to be online. Not such a big problem this day and age, but still...

2. The Microsoft Windows Update system is online, meaning it sends you system information to Microsoft (and your credit card information to random third party companies).

3. The Microsoft Windows Update system is down. I can give you a screen-shot of it saying "your OS is too old and we don't support it anymore".

4. It only has official updates, most of which require security updates and bugfixes themselves.

5. It does expect to automatically install whatever it detects is missing anyway, so it's not that different from a service pack.

6. As I recall, when a service pack is available and not yet installed, it recommends installing it, regardless of the actual versions of files you do have installed.

What I'm thinking about is a program that simply scans your system folders, MD5s or SHA1s or similar all the file there, then compares it to its own (offline) database containing filenames connected to version histories. It then reports what versions your files are at, if there are known better versions, what older versions exist, which files (if any) are unrecognized (unknown version), what systems certain files are designed for (e.g. recent unofficial ESDI version targeted at IBM portables), etc.

Also, the database can include marking regarding whether or not a certain version of a file requires update, could use an update, or is sufficiently updated (latest version, or later versions not critical or useful under certain settings), then files detected as being in a version requiring an update could be displayed first.

Additionally, the database should contain, for each version of a file, besides the version number, file hash, and, obviously, the file name, also the place from which it can be obtained (Qxxxxxx, unofficial X, or original CD, etc).

Now, I don't think a program that checks files and reads such a database, as well as a GUI for displaying the result, would be that hard to create. The database itself would certainly require serious management work, but no more than any service pack, and since there are like 5 or 6 of those, you can't really say there's no one who'd be willing to do it.

Link to comment
Share on other sites

What you need is soporific's Auto-Patcher 98:

http://www.msfn.org/board/Auto-Patcher-For...ish-t80800.html

There is a scan option that will report updates and packs that are installed and those that are needed. B)

It is best to go to the manual selection menu and select everything before doing a scan.

This way it will give a full report.

Link to comment
Share on other sites

Last I've checked, auto-patcher didn't have a database-only version. With >250MB download, I would think it's trivial to understand how looking for specific updates would be preferable to someone with a mostly patched system.

Besides, I was thinking of something that gives more of a per-file analysis, rather than attempt a full-system update.

Link to comment
Share on other sites

2. The Microsoft Windows Update system is online, meaning it sends you system information to Microsoft (and your credit card information to random third party companies).

Whoa, tin foil hat much?

I think RetroOS nailed pretty much the only project that comes close. As you know, it's main purpose is online updates... though I can imagine it being modified pretty easily to a local database instead of a web database. That's up to the developer though, but it's worth a shot to ask.

Now, I haven't used it in a while, but I was pretty sure it applies the current projects available on this forum, whether they are files that need to be bundled (or they break) or single file updates (KernelEX?). I can't think of a reason to check single files one by one on the entire system if the patches are like that already. Oh, and like RetroOS said, it has a manual update feature... So you don't have to download the full >250MB.

Edited by Peffse
Link to comment
Share on other sites

...Oh, and like RetroOS said, it has a manual update feature... So you don't have to download the full >250MB.

Well actually, it is necessary to download the entire updater...

Unlike the 2000 and XP Autopatchers that linked to direct Microsoft downloads (the reason M$ shut them down), Auto-Patcher 98 bundles all updates in the updater pack.

Many of these updates are no longer provided by Microsoft (who don't want to know about 9x) or they are unofficial update packs and so on.

Link to comment
Share on other sites

...Oh, and like RetroOS said, it has a manual update feature... So you don't have to download the full >250MB.

Well actually, it is necessary to download the entire updater...

Unlike the 2000 and XP Autopatchers that linked to direct Microsoft downloads (the reason M$ shut them down), Auto-Patcher 98 bundles all updates in the updater pack.

Many of these updates are no longer provided by Microsoft (who don't want to know about 9x) or they are unofficial update packs and so on.

...really? hmm. I don't remember that, I remember an online query. Oh well, egg on my face.

Link to comment
Share on other sites

That could be pretty easy if ever we had a website storing all the files. Not the installers, but the files without installers.

Like that the program could compare date and version tags of the files on the system with those on the internet.

Then update the file right down the download.

For some reason I haven't seen any update available withou an installer but I imagine that it should be feasable.

Link to comment
Share on other sites

Again, my suggestion isn't for an auto-update program, or auto-downloader, or anything of the sort.

All the program would do is scan your Windows and System folders, then tell you something like "Your ios.vxd v4.10.2222 is outdated, you should get Q239696", or something of the sort. Then you pop open a certain sticky thread in this forum, and get the appropriate file.

The way I envision it, the results window would look something like an eMail program:

-On the top half there would be a list of the files you have in the system, each with its version, some hash-type thing, a guess on where the file came from (if it is recognized), and the scanner's guess on whether it's "outdated", "up-to-date", "unrecognized", etc... Obviously, appropriate sorting and filter option will be available.

-On the bottom half, for each file you select, you will get a sort of "version history", giving you all the information on each version of the file starting with the one that came on the disk, and up to the latest unofficial patches, including various branches where such exist. As mentioned above, the information on a file's version includes where it came from, which could be "Original 98 CD", or "Original Danish 98 CD", or "Q123456", or "Unofficial ShellEx v4.20.9000", etc etc...

The database itself would simply be a large array of entries, each including:

-File name

-File version (Preferably as seen in the file's resource)

-File hash

-File source (Short string, a la "Q123456")

-Up-to-date flag, stating whether this file warrants an update. May be multi-state ("Update now", "May need update", "Not latest but doesn't require update", "Latest", "Update if IBM portable", etc).

Each file would have one entry for each version. So, for example, there would be about 7 entries with the filename User32.dll.

Obviously, scanning and tagging hundreds of files for the database is a lot of work, but it's not difficult. Tools for automating at least part of the process can be easily made.

Incidentally, by simply using a different database, such a tool can be extended to any Windows version.

Link to comment
Share on other sites

I think I could write something like this in HTA.

I just need an application able to detect and write automaticaly into a text the version of the dll and other system files.

I know such program exists but I need one with could work on comand line and with an export-to-text option.

As for scanning thousands of system files, it's sort of my speciality.

See my Installed (System) Files Checker.

I would need also some helpful information from those who know better than me: Which extention files should we look for, etc

Well one more thing I'll need is... time. ;)

Now, personaly, I think it would be still easier to crank up one of the packs and here you go...

Link to comment
Share on other sites

I do believe the files to be checked should come from the database. As, it is not possible to be sure, what type of files it will be necesary to check. So, it will be the best to check according to the database entries.

The database should contain more informations, as well. A quite important property is if the file should be localized for different language versions. Different database entries would be necesary for different language versions, in such a case.

Link to comment
Share on other sites

I just need an application able to detect and write automatically into a text the version of the dll and other system files.

Well, it's just a matter of reading the attached resources. I imagine command-line resource hackers/decompilers can do that.

Though I'm not sure if that's necessary. If the file's hash does not match anything from the database, it may simply say "Version unrecognized".

See my Installed (System) Files Checker.

Argh, my eyes! Why so much green?

And also, it's not very descriptive.

I would need also some helpful information from those who know better than me: Which extention files should we look for, etc

I agree with Sfor on this one: The files checked can be determined by the ones available in the database.

I think I could write something like this in HTA.

...

Well one more thing I'll need is... time.

I could probably clear up my schedule and write a scanner+GUI in C++ or Java (according to forum members' preferences), but unfortunately I haven't the time, resources, or expertise to manage the database. If I can find a volunteer for that, I would be more than eager to create a database viewer/editor.

The database should contain more informations, as well. A quite important property is if the file should be localized for different language versions. Different database entries would be necesary for different language versions, in such a case.

I would think a file's language would be a part of the "from" field. That is, you would have "Q239696 English" and "Q239696 Japanese", etc...

That way, it could identify the languages of the files you have, and you can compare.

On a side note, which format do you think the database should be in? Some form of solid binary (a-la flushed struct array)? Maybe something with indexing, or dynamic tags? Text, maybe (or XML)?

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...