I have now used apup and autopatcher and am beginning to understand both. I am running a Vista Home Basic system with SP1 and SP2 installed.
After downloading the 224MB of updates that apup 1.3.0.1 indicated were appropriate I ran autopatcher. All went well except:
a> a possible bug report:
Apup indicated 3 updates were appropriate for my system. I tried 2-3 times by checking the box beside the black update to get it to update with no luck. I then ran the updates directly in the modules folder. The result was 3 notifications that the updates are not appropriate for my system. If it is useful to Autopatcher, I will gladly report the details.
b> a question:
After Autopatcher was ran and the system rebooted three times the normal windows update system indicates that there are still 12 updates that my system needs. Running Apup again seems to indicate I have them all. What might explain that?
Hi rhoadesb Sorry, I noticed you were visiting your post earlier, it looks as if it was overlooked, let me see if I can help.
Note:
Spoiler
This post may be long, I would like to use it as a 'reference' for other users who may need to know more about AutoPatcher, how it works, and a few limitations. The principles apply to all releases. I may edit the post (while I can) until it is clear - I'm not the best writer you know.
Your Vista service pack level is SP2 right? I don't believe the Vista release supports SP1. Also, details always help, we always need to know what updates wont install on a system (the kb# is useful), and what component level the system is at (SP2, IE7, WI4, etc), otherwise we're guessing. Also, make sure the release is the latest available and Official. Run APUP, update the release, and be sure to have the apup.log file on hand, it may be needed. The AutoPatcher log file may also come in handy - autopatcher.log (search should locate it).
>>> a> a possible bug report:
Maybe a little bug in the .apm file, limitations with AutoPatcher, or your system
Example:
The update requires Vista SP2, IE8, and Windows Installer 4 - a user attempts to apply the update to a system with SP2, IE7, and Windows Installer 3 - AND, the .apm file has Vista SP2 as the only requirement (dependency)...
The update will load on all Vista SP2 systems but only install on those systems that meet all the requirements - SP2, IE8 and WI4. In this case, the best thing to do after the first attempted install fails is to check the kbxxxxxx.log file - what details are given for the failed install? If you're up to it, open the .apm file as well (use the kb#, in notepad), what dependencies are listed? The update failed possibly because the system meets some but not all the requirements. We can add the additional requirements if AutoPatcher will detect them, or be creative - not sure how just yet.
The issue with AutoPatcher:
I'm not sure what system components (and all versions of...) AutoPatcher can (or cannot) detect. If AutoPatcher can't detect a necessary component (or correct version), it becomes apparent the difficulty with including a 'critical' update in the release even though it will fail to install on some systems. As far as I know, most updates will simply write to the log a message why it failed and AutoPatcher will move on to the next update. This is not ideal of course.
In a perfect world AutoPatcher code would be updated. When the developer doing the work - works for free - you have to be respectful of their time.
The idea in a nutshell here is: Restricting the update to only those systems that meet the requirements, but if there are 3 versions of a component and AutoPatcher only detects one or none of them, what to do - leave the update out altogether, maybe support only one version of the component...?
>>> b> a question:
This issue could result from a number of possibilities, a few we discussed above. Also, it's common when an OS is updated, after the first update is installed, a newer component or system update may be needed (and will appear in AutoPatcher, MU, or WU). If you have IE7 installed (as an example), a system may need fewer updates, but, once you update the system to IE8 - there may be many new updates needed, and the old updates should now be hidden, the system no longer meets the requirements.
What to learn from the above explanation:
An update has a target system to patch, the .apm file needs to contain these dependencies (targets - SP2, IE8, Windows Installer 4), AutoPatcher needs to detect these 'targets' within the 'operating system' so the update will load only on the correct 'targeted' system. What to do when AutoPatcher cannot properly detect all 'dependencies' - this is the dilemma! How do we work around these shortcomings until the software is updated?
The easiest way to deal with (your issue) is to get the list of updates that are giving you grief and determine where the problem is - the .apm file, AutoPatcher, or your system - it may be a combination of all 3.
A not-so-elegant temporary fix: Any Ideas?
Spoiler
Let's use XP SP3 English as an example:
This month (March 2011) there are multiple updates available for Remote Desktop - v6, and v7. I'm not sure what version(s) AutoPatcher can detect, maybe none, or what versions the release (XP script) targets (this used to be on the Hotfix page, and should be added back). I would like to add v6 and v7 updates to XP SP3 English.
I have mentioned making better use of 'Titles' and 'Descriptions' in AutoPatcher. Also, it may be necessary to remove the 'auto-select' feature from the .apm files for these updates (so the update wont be checked automatically) yet still list them in '\modules\Critical'. Finally, the release needs a 'ReadMe' that all users should read before they update - the readme should mention the issue with these updates and suggest to the user they select only the update that applies to their system - either v6 or v7 of Remote Desktop, not both.
Example .apm file (what you would read in the AutoPatcher main window)...
Title: Security Update for Windows XP SP3 w/ Remote Desktop v6 (KBxxxxxx) Description: This security update patches an issue on a Windows XP SP3 system with Remote Desktop (v6) installed. Do not select this update if you have Remote Desktop (v7). Please see the 'ReadMe' file in C:\apup.
The 'ReadMe' might say...
March 2011 - Patch Tuesday - Important Notes: KBxxxxxx targets 2 versions of Remote Desktop: kbxxxxxx_6.exe Remote Desktop (v6) - kbxxxxxx_7.exe Remote Desktop (v7). Select only one update (Not Both).
There would also be an update for Remote Desktop (v7) listed in AutoPatcher's 'Critical' section - the user simply needs to know what version to install. Most Offline Updaters require (expect) the user to select (and know) what updates apply to their system. It would be nice for AutoPatcher to do it for them but, until then, what do we do: Attempt to install the wrong update, Leave important updates out of the release, or Recommend the user select the correct update?
The correct update should still appear Blue once installed.