Udostępnij za pośrednictwem


You receive 0x800f0904 - CBS_E_MORE_THAN_ONE_ACTIVE_EDITION when installing SP1 for Win7/R2

During the installation of Service Pack 1 for Windows 7/2008 R2 you might encounter the following error:

0x800f0904 - CBS_E_MORE_THAN_ONE_ACTIVE_EDITION

This can be due to the release candidate failing to uninstall properly. The \Windows\Logs\CBS.log will show the following:

2011-02-23 17:25:59, Info CBS Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385, state: Superseded

2011-02-23 17:25:59, Info CBS Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17105, state: Installed Invalid

2011-02-23 17:25:59, Info CBS Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514, state: Installed

Manually removing the release candidate using DISM will allow for the service pack to properly install. The commands to do this are (reboots may be required):

Dism /online /remove-package /packagename:Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105

Dism /online /remove-package /packagename:Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17514

NOTE: The DISM command you will need to use is dependent on the version of the service pack release you previously had installed. In the example above, this information can be determined by the parent Windows Foundation Packages in the CBS.log

--Joseph

Comments

  • Anonymous
    January 01, 2003
    I understand that Dean. We base documentation on the targeted level of the user.  In this case, the targetted user would be an admin/image builder who most likely has some sort of scripting background.  The average home user really shouldnt be using the tool for day to day things unless they just really want to.  There are other mechanisms in place for that.

  • Anonymous
    January 01, 2003
    Thanks Dan, will you please link your post once its up there so I know which one it is?

  • Anonymous
    January 01, 2003
    Dan Can you open an issue on the forums for me and upload your logs there so people can look over them? Thanks!

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    DISM is the end all be all of utilites for the ser vicing stack.  The uninstaller is usually encapsulating the DISM commands themselves so that they can be run against the machine.  Basically, nothing is done unless DISM does it.

  • Anonymous
    January 01, 2003
    Because the uninstaller sometimes doesnt get all of the binaries off the machine.  It was pre-release code after all.

  • Anonymous
    February 25, 2011
    The comment has been removed

  • Anonymous
    February 26, 2011
    Thanks for the info Joseph. Heped me solve the problem. @Dan: Searching for 'kb976932' in the CBS log would be of help to you in getting the right packages to uninstall using dism then. All the best.

  • Anonymous
    February 26, 2011
    @Rahul Thanks for the tip.  I did a search for that and it came up with 3 results and all of them were this: CBS    Read out cached package applicability for package: Package_for_KB976932~31bf3856ad364e35~amd646.1.1.17514, ApplicableState: 112, CurrentState:101 I did the following in the cmd prompt: Dism /online /remove-package /packagename:Package_for_KB976932~31bf3856ad364e35~amd646.1.1.17514   The machine works for a little bit and then it errors out and says: "An error occurred - Package_for_KB976932 Error: 0x800f0904"

  • Anonymous
    February 26, 2011
    So why would "manually" removing it ( which doesn't look manual to me ) remove all of it while "removing" it removing it won't ?

  • Anonymous
    February 27, 2011
    @joscon Ok I'm about to create a thread in the forums and provide a link to the CBS log and the Packagelist file as well.. When I went to type up my question it pointed me to this thread: social.technet.microsoft.com/.../d8b379a7-7b39-4449-8238-7835e48b3366 And I've done pretty much everything that was mentioned and still no luck.   Thanks in advance to any help you can give.

  • Anonymous
    February 27, 2011
    Sure thing, this is the thread: social.technet.microsoft.com/.../b573d5d2-25e3-46bf-87af-5047f66cf536

  • Anonymous
    February 28, 2011
    "Because the uninstaller sometimes doesnt get all of the binaries off the machine.  It was pre-release code after all." But what I mean is, technically, what is DISM doing that the uninstaller doesn't ? How does DISM know more ? Can you use DISM to uninstall ANY installed program ?

  • Anonymous
    March 01, 2011
    "DISM is the end all be all of utilites for the ser vicing stack.  The uninstaller is usually encapsulating the DISM commands themselves so that they can be run against the machine.  Basically, nothing is done unless DISM does it." Then if DISM is really doing the work how could this be true ? "Because the uninstaller sometimes doesnt get all of the binaries off the machine."

  • Anonymous
    March 01, 2011
    Also, it seems to me that this description of DISM that you get when you run it is totally inaccurate because it's not just used with imaging by any means. " DISM enumerates, installs, uninstalls, configures, and updates features and packages in Windows images. The commands that are available depend on the image being serviced and whether the image is offline or running."

  • Anonymous
    March 02, 2011
    OK, now I see why you use the term "manual" It's not accurate because for the ordinary person reading that it makes it sound like DISM is only used for working with images for installing on PC's. It doesn't at all make it clear that DISM is also used on a daily basis for everyday things. I certainly had that impression from all of the Microsoft info on it and only realized that it did more from this blog posting. You people at Microsoft need to start understanding that not everyone is a Microsoft employee and has inside info nor is everyone a programmer. If the documentation for stuff is written for Microsoft employees and programmers then only Microsoft employees and programmers will ever understand it. That is why I have been begging for better documentation on the Hard Link issue.

  • Anonymous
    March 02, 2011
    "We base documentation on the targeted level of the user.  In this case, the targetted user would be an admin/image builder who most likely has some sort of scripting background." This is exactly my point ! You guys are being eliteist. The targeted users should be from the programmer to the person running a network. Including the smallest business network. Network admins may not be as "smart" as programmers but neither are they stupid and they REALLY need to understand this stuff to do their jobs effectively. I don't know why you people can't understand that. Technical documentation needs to be ACCURATE if confusion is not to be spread. Confusion is the worst thing imaginable when it comes to technical documentation. If a program is used on a wide basis and not a narrow one then the documentation should state so. I never said anything about the "home" user. That was you.

  • Anonymous
    March 22, 2011
    The comment has been removed