Tech Off Thread

6 posts

Should I be concerned that an update didn't install?

Back to Forum: Tech Off
  • User profile image
    RodAtWork

    I've got an ancient of days, Windows XP machine, which I use when I have to do maintenance on our old VB6 apps.  I finished doing some maintenance, and was shutting down the machine.  When I went to shut it down it said it had some update to install and then shut it down, so I went ahead and told it to install and shut down.  That was probably 4 hours ago.  It was still trying to apply the update and shut down.

    But of course life intervened.  We had a power fluxuation (?sp) and lost power to several user machines, the lights in most offices flickered, and of course my old PC took the power hit as well.

    So, do I concern myself with the fact that whatever it was, didn't install?

  • User profile image
    evildictait​or

    Nope. Updates run atomically so the update either completed and everything is all well and good or the update didn't happen at all.

    The best thing to do is to connect your machine to the Internet and go Start > All Programs > Windows Update and then install all of the updates there. You may have to restart your computer a couple of times, but this shouldn't be too onerous a task. After that your computer will be fully up-to-date (or as fully-up-to-date as a Windows XP machine can be) and you'll be good to go.

  • User profile image
    W3bbo

    Updates can't be guaranteed to be atomic in every scenario, surely? If they were then there would be a "cancel update install" button on the shut down screen and there wouldn't be any scary "do not turn off or unplug your computer" messages either, furthermore atomic operations happen instantly, so why do some updates take minutes to install?

  • User profile image
    evildictait​or

    On Windows Vista and above transactions are atomic by using the kernel's transaction manager to transact all of the filesystem and registry modifications into one big atomic action. Windows XP doesn't have a transaction manager, so the transaction is pseudo-managed by the update kernel code (which isn't really atomic, it's just compresses all of the failure conditions and catastrophic failure window into as small a window as possible). In Windows XP the update files are unzipped and written to disk fully before essentially deleting the old files and moving the new files on top.

    For this reason there is a tiny chance that you botch the update in Windows XP and end up with a crazy mutant OS which would likely not boot (e.g. if ntdll.dll doesn't match ntoskrnl.sys or user32.dll doesn't match win32k.sys or you catch the OS between deleting kernel32.dll and putting the new version in %systemroot%). In Windows XP because everything is pre-unzipped you won't hit this due to checksum, time or disk-space reasons, and everything is cryptographically signed so bit-errors won't hurt you but there is a tiny window at the end of the update where a power-outage could potentially brick your system.

    In Windows Vista and above, short of the transaction manager failing in some unforeseen catastrophic error there is a zero chance of corruption during Windows Update.

     

    Also "atomic operations happen instantly" on what planet? atomic operations happen atomically. They can take years if they have to, the only restriction is that they either happen completely or don't happen at all, and that any parallel access sees either the previous state or the new state. Atomicity doesn't make any statements about operation length.

  • User profile image
    W3bbo

    , evildictait​or wrote

     

    Also "atomic operations happen instantly" on what planet? atomic operations happen atomically. They can take years if they have to, the only restriction is that they either happen completely or don't happen at all, and that any parallel access sees either the previous state or the new state. Atomicity doesn't make any statements about operation length.

    If you wanted to make specific changes to 1000 files, how would you accomplish that atomically?

  • User profile image
    evildictait​or

    , W3bbo wrote

    *snip*

    If you wanted to make specific changes to 1000 files, how would you accomplish that atomically?

    By using Transactional NTFS (TxF) http://msdn.microsoft.com/en-us/library/windows/desktop/bb968806(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/bb968806(v=vs.85).aspx

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.