Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Update Rollup 2 setup can fail because it does not detect the .NET Framework 1.1 SP1

Update Rollup 2 setup can fail because it does not detect the .NET Framework 1.1 SP1

  • Comments 9

It has been a while since I've written about any setup issues related to Update Rollup 2 for Media Center 2005.  The lack of posts has been caused by several things:

  • Most (if not all) systems that ship with XP Media Center pre-installed now also include Update Rollup 2, so there isn't a need for most people to download and install it directly
  • Many people have started using Windows Vista Media Center
  • The issues I've run into that have prevented Update Rollup 2 installation from succeeding have all been similar to ones that I've documented in my Update Rollup 2 troubleshooting guide

This week, I ran into an Update Rollup 2 installation issue that is related to the .NET Framework 1.1 that I hadn't seen before, so I wanted to describe it here in case anyone else sees it.  Also, since the underlying problem is in the .NET Framework 1.1, it could potentially affect other programs, and not just Update Rollup 2.

Diagnosing the issue

In the case I saw this week, a customer ran Update Rollup 2 setup and it installed all of the prerequisite Windows hotfixes, but then failed when trying to install the main Update Rollup 2 package (KB900325).  I looked at the log file named %windir%\kb900325.log from this system and I saw the following:

0.187: Exec PreReq.SingleOp.OneDotOneSP1Framework:  Types don't match of Key SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322

Update Rollup 2 setup requires that you have the .NET Framework 1.1 and 1.1 SP1 installed, so I first verified using Windows Installer tools that 1.1 and 1.1 SP1 were correctly installed.  However, as seen in this log file, the Update Rollup 2 setup itself was not able to detect 1.1 SP1 because of a problem with the data type for a registry value.

How to workaround this issue

To resolve this issue, I had the customer fix the incorrect registry value that was causing KB900325 setup to think that 1.1 SP1 was not installed.  The fix required the following steps:

  1. Click on the Start menu, choose Run, type cmd and click OK
  2. Type this command:  reg delete "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" /v SP /f
  3. Type this command: reg add "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" /v SP /t REG_DWORD /d 1 /f
  4. Re-run Update Rollup 2 setup

Root cause of the issue

The interesting thing about this issue is that the wrapper setup.exe (which chains the prerequisites together with Update Rollup 2) and the KB900325 package both perform a check for both 1.1 and 1.1 SP1.  In this scenario, the wrapper was able to correctly detect that 1.1 SP1 is installed.  However, the logic inside of the KB900325 setup package was not able to detect 1.1 SP1.

Both the wrapper setup and the KB900325 setup use the following registry value to detect the presence of the .NET Framework 1.1 SP1 (as I've previously described and written sample code for in this post):

[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322]
SP=1

The one difference is that the KB900325 setup requires this value to be a REG_DWORD, while the wrapper setup will work if the value is a REG_DWORD or a REG_SZ.

Technically, the .NET Framework setup only writes this value as a REG_DWORD, so that should be the only form that this value should be in on a system.  However, I have seen a few cases where this value was somehow deleted and re-created as a REG_SZ value by some other application.  The difference in registry data type can affect detection depending on how the registry value is being retrieved and parsed.

If you end up seeing any cases where an application tells you that you do not have the .NET Framework 1.1 SP1 installed but you really do, I suggest checking to see what data type this SP value is stored as in your registry and if it is not currently a REG_DWORD, use the steps listed above to change it it to a REG_DWORD value.

  • This article serves as a central location for all links to troubleshooting documentation that has been

  • Hi, you would think this issue is no longer relevant but for me it still is (unfortunately).  

    I'm a rather tech saavy guy, but this issue has me baffled.  I currently have a working media center 2005.  I have all my windows items up to date, .net 1.0, 1.1, and 2.0, including all current fixes, etc.

    The problem I'm having is after trying to install rollup 2, I'm getting an error when trying to access my TV programs that component was not registered, etc.

    Now, from all the information you've shared, and from what I can tell, my problem is that in my windows\system32, my mscoree.dll file (i think that's the one) is version 2.0  From what it sounds, due to when the rollup was originally released, it's really expecting the 1.1 SP1 version.  Well, this version is no longer in that directory due to updating to 2.0.  I would think that 2.0 is backward compatible, but that doesn't seem to be the case as I still have errors the same as when this file is supposedly reverted to 1.0

    I'm stuck, and at this point my only option is not to update at all.  Whenever I now try to uninstall/reinstall/repair the .NET 1.1 framework, the setup program seems to hang for a long time and the processor is not active, so I am not able to re-install .net 1.1 sp1 and run the command-line option for the rollup 2 setup.  

    Any advice?  I would try to uninstall .net 2.0 but you said somewhere that doing this will not revert to the 1.1/0 files for some reason.

  • Hi Rolandv - I'm sorry that you're running into these issues.  The issue I discussed in this blog post was caused by the system having the 1.0 version of mscoree.dll in the c:\windows\system32\ directory.  If you have both 1.1 and 2.0 installed, I don't think you are running into the exact same issue, and you shouldn't need to remove 2.0 to fix this.  Can you please send me a copy of the log file named c:\windows\medctroc.log so I can take a look and see if I can figure out why the component registration failure is happening on your system?  You can send it to Aaron.Stebner (at) microsoft (dot) com.

  • Hi Aaron,

    I have XP Media edition (although in the system info it says XP Pro, and I don't know why or if it's part of the problem).  Neither .Net Framework 2.0 nor Rollup 2 will install. I get no details just the failure message. I tried the above fix while my anti virus was turned off but, sadly, it didn't work.  When I ran the commands you suggested they were accepted but when I try to find the new or old strings in my registry they are seemingly there. I'm not very tech savvy (just dangerous I guess). All I want to do is install Medial Player 11 so I can watch Netflix streaming video.  I need rollup 2 before I can do that.  Windows authenticates but it says I don't have the correct operating system and tells me to download rollup 2 then try agian.  I've tried and tried. Any help would be most appreciated.  Thanks.  Gary

  • Hi Garyz777 - I'd suggest trying the steps listed at http://blogs.msdn.com/astebner/archive/2005/10/11/479928.aspx to manually remove and re-install the .NET Framework 1.1 and 1.1 SP1.  Then you will hopefully be able to install Update Rollup 2 from http://www.microsoft.com/downloads/details.aspx?FamilyId=E5DAF37E-E243-4410-BC51-81CF2B56FE6E&displaylang=en.

    Hopefully this helps.....

  • Aaron-

    I have used your blog to fix other MCE problems in the past and you are always very helpful.  I was able through the use of your blog to install the MCE update back in June or July, took me about a week to actually install it because of the .net 1.1 SP1 issue of not installing.  However i was recently having problems with MCE again and I saw someplace to uninstall the updates to it via the add/remove programs.  I did this and then MCE was not working using the Live TV.  SO I tried the Mcerepair 0.2 that you refer to in your blog and then when I tried using MCE again it crashed every time I tried to watch Live TV.  This has never happened before.  I played around with it all night last night and finally got the Live TV to work, dont ask me how, but believe me you helped.  I wanted to install the Update Rollup 2 again but it is failing when it tries to install.  I did uninstall KB904706 and tried this solution as well, but still failed.   I am running XP SP2 with MCE Version 2002 under add/remove programs I see .Net 1.1 and Hotfix KB928366 even tough I installed 1.1 SP1 with a successfully installed pop up box.  When I go to MS Update I see the KB900325 that fails.  I tried to see the log for the fail, but it was not there on my computer.  Any help would be great.  

    --Thanks

  • Hi Frecato - There are a lot of possible causes for Update Rollup 2 setup failures.  I've posted a series of links at http://blogs.msdn.com/astebner/articles/487537.aspx that might be helpful.

    Also, if you'd like, you can zip and send me your Update Rollup 2 setup log files and I can try to take a look and see if I can help figure anything out.  You can find a list of log files and contact information for me at http://blogs.msdn.com/astebner/archive/2005/10/16/481689.aspx.

  • Aaron, do you know a way to detect the presence of KB900325? (like WMP11 Setup does)

    Thanks,

    Holger

  • Hi HolgerG - Instead of detecting the specific presence of KB900325, you should check for the presence of Update Rollup 2 or higher.  I listed file and registry-based ways of doing that at http://blogs.msdn.com/astebner/archive/2006/07/11/663028.aspx.

    I worked with the WMP11 setup team about their Update Rollup 2 detection logic back before that product shipped, and if I remember right, they're using logic like the file-based detection in that blog post (because we ran into cases where the Ident registry value got set to incorrect values by badly behaving Media Center add-ins).

    Hopefully this helps.

Page 1 of 1 (9 items)
Leave a Comment
  • Please add 8 and 8 and type the answer here:
  • Post