cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jsn_segal
Level 3

Vista Automatic Updates Cause Prerequisite to Fail

I've run into a problem with the SQL Server 2005 Express prerequisite (Although I believe this could happen with any prerequisite). I've found that when a Windows Update is installing things in the background on Vista, it may interfere with the installation of the prerequisite - especially if the Windows Update requires a reboot after completion. The errors caused by this conflict are inconsistent - different problems occur depending on which part of the prerequisite is being installed when the Windows Update requests the reboot. Additionally, Windows Updates sometimes trigger a "Would you like to reboot now?" popup that can interrupt either the prerequisites or the main installation without allowing them to continue after the reboot.

Has anyone else encountered this problem, and if so, is there a suggested way to deal with it? I'm currently looking at the possibility of writing a prerequisite that uses the Windows Update Agent API to make sure no updates are in progress before any other prerequisites start, then disabling Automatic Updates until the installation finishes, although this approach looks like it may be time-consuming to implement.
Labels (1)
0 Kudos
(2) Replies
Stefan_Krueger
Level 9

This problem is known to happen during the .NET Framework 3.5 install. For a discussion of the cause and possible workarounds, please read How to avoid OS reboot prompt when installing the .NET Framework 3.5 on Windows Vista in Aaron Stebner's blog.
Stefan Krueger
InstallSite.org
0 Kudos
jsn_segal
Level 3

Thanks for the information. This blog entry has a good workaround for preventing the popup (pause Windows Update while the setup is running), but that doesn't quite cover all the related issues.

I'm not actually having trouble due to installing the .NET 3.5 runtime as a prerequisite myself - I'm getting errors during installation of my actual prerequisites if Windows Update either has already installed it (without a reboot occurring before my installer is launched), or if Windows Update installs it while my setup is running. The article's technique for preventing the popup should take care of the the latter case, but not the former.

Following the links from the blog, I see the ISystemInformation interface on Windows Update API does provide a "RebootRequired" property. I'm guessing that in order to work around my problem I'll have to query this and, if it's flagged true, let the user know he or she needs to reboot the system before running my installer.

If my understanding of the Windows Update API is right, I think I can problably write a prerequisite to do all this before any other prerequisites run, but it's going to be pretty involved (including localized messages, due to the need to alert the user about any pending reboots, and dealing with any variance in the Windows Update API across Windows XP and Vista versions). Is there a simpler "official" way to handle this? It seems like it must be a pretty common problem.
0 Kudos