Locked Official SP1 release - installation errors

Todas las respuestas

  • domingo, 20 de febrero de 2011 13:04
     
     Respondida

    CORPHV00:

    Identity mismatch: Specified Identity: Package_for_KB2454826_RTM~31bf3856ad364e35~amd64~~6.1.2.0, actual package Identity: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385 [HRESULT = 0x800f0818 - CBS_E_IDENTITY_MISMATCH]

    Run the System Update Readiness Tool [1] to fix it. Here are some guides [2][3] for using it.

    CORPHV11:

    2011-02-19 14:18:18, Info                  CBS            INSTALL index: 76, phase: 1, result 5, inf: usbstor.inf
    2011-02-19 14:18:18, Info                  CBS    DriverUpdateInstallUpdates failed [HRESULT = 0x80070005 - E_ACCESSDENIED]

    The users here had the same issue:

    http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/da88d15d-6655-47c8-813f-687d61fa4de2/#e661427c-4037-4c67-9088-1ef118058a05

    change the permissions of the USBSTOR registry hive so that the system can write.

    [1] http://support.microsoft.com/kb/947821
    [2] http://www.myitforum.com/absolutenm/templates/Articles.aspx?articleid=20625&zoneid=99
    [3] http://technet.microsoft.com/en-us/library/ee619779(WS.10).aspx


    "A programmer is just a tool which converts caffeine into code" CLIP- Stellvertreter http://www.winvistaside.de/
    • Marcado como respuesta Greg Beifuss lunes, 21 de febrero de 2011 3:36
    •  
  • lunes, 21 de febrero de 2011 3:36
     
     

    Thanks Andre,

    I've manually reset the usbstor permissions - we had a GPO that alters them at work.

    The SP1 install completed on CORPHV11 after that.

    I had the identity mismatch error on CORPHV00 but had resolved it by copying the packages from another system - perhaps I just didn't run the SUR tool afterwards. In any case, reseting the usbstor permissions fixed the trick for me again. I wrote up a quick PS script to do this on future servers:
    $acl = get-acl $env:SystemRoot\inf\usbstor.inf
        $aces = $acl.Access
        foreach ($ace in $aces) {
            if ($ace.IsInherited -eq $FALSE) {
                $acl.RemoveAccessRule($ace)
            }
        }
     $acl.SetAccessRuleProtection($false, $false)
     set-acl -aclobject $acl $env:SystemRoot\inf\usbstor.inf
     
     $acl = get-acl $env:SystemRoot\inf\usbstor.pnf
        $aces = $acl.Access
        foreach ($ace in $aces) {
            if ($ace.IsInherited -eq $FALSE) {
                $acl.RemoveAccessRule($ace)
            }
        }
     $acl.SetAccessRuleProtection($false, $false)
     set-acl -aclobject $acl $env:SystemRoot\inf\usbstor.pnf

    When I'm reading through the CBS file, how are you isolating the error? Are there keywords I can search for that will quickly let me hone in on the problematic line(s)?

  • lunes, 21 de febrero de 2011 14:37
     
     

    When I'm reading through the CBS file, how are you isolating the error? Are there keywords I can search for that will quickly let me hone in on the problematic line(s)?

    I go to the log and Search for the word Error and read what happens the lines before. Some messages can be ignored. This requires some experience to see what you should look at.

    "A programmer is just a tool which converts caffeine into code" CLIP- Stellvertreter http://www.winvistaside.de/