Using dedup on Win 8.1, one CAB consistently won't install - what to do?

Discussion in 'Windows 8' started by Stilez, Dec 6, 2014.

  1. Stilez

    Stilez MDL Novice

    Sep 16, 2009
    29
    0
    0
    I'm trying to get Dedup working on Windows 8.1 Update 1.

    I tried using the CMD script and DISM, but two of the necessary packages wouldn't install. I tried the powershell scripted version of dism instead (blog.compower. org/2014/02/20/enable-deduplication-windows-8-1) and got a similar result, one CAB still wouldn't install. The error was meaningful, but I don't know what to do next.

    Things I've checked:

    • Package files taken fresh from a "known good" Server 2012 R2 with the 2014 Spring Update installed and Deduplication enabled and working correctly.
    • Destination system is Windows 8.1 x64 with the 2014 Spring Update.
    • Winver for both is identical (6.3 build 9600)
    • The standard commands to find and fix servicing issues are all error free (sfc/scannow, dism /scanhealth, chkdsk)
    The error reports from PowerShell and DISM say what's going on but not how to fix it:

    > Add-WindowsPackage -Online -PackagePath "C:\DeDupCabs\Microsoft-Windows-Dedup-Package~31bf3856ad
    364e35~amd64~~6.3.9600.16384" -NoRestart

    VERBOSE: Dism PowerShell Cmdlets Version 6.3.0.0
    VERBOSE: Target Image Version 6.3.9600.17246
    WARNING: Failed to add package C:\DeDupCabs\Microsoft-Windows-Dedup-Package~31bf3856ad364e35~amd64~~6.3.9600.16384
    WARNING: Add-WindowsPackage failed. Error code = 0x800736cc
    Add-WindowsPackage : A component's file does not match the verification information present in the component manifest

    What's needed to workaround this?
     
  2. Stilez

    Stilez MDL Novice

    Sep 16, 2009
    29
    0
    0
    #3 Stilez, Dec 6, 2014
    Last edited: Dec 6, 2014
    (OP)
    Yes, running it as admin (see title bar in screenshot).
    dedup.png

    Also checked server had latest service stack updates - it has both the April and September stack updates installed (KB2919355 and KB2989647) and nothing waiting to be installed according to WU.
     
  3. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    8,084
    26,927
    270
    The error details are clear: 0x800736cc - ERROR_SXS_FILE_HASH_MISMATCH
    some binaries files hash doesn't match the hash specified in the manifests
    looking into %windir%\Logs\CBS\CBS.log would give the exact errored files

    how did you exactly got the cab package of server?
    these rollups contain updated components for dedup, which will affect the process
    KB2919355, KB2962409, KB2995388, KB3000850

    btw, Dism PowerShell Cmdlets uses actual Dism tool
    so there is no difference in running the command in CMD or PS
     
  4. Stilez

    Stilez MDL Novice

    Sep 16, 2009
    29
    0
    0
    #5 Stilez, Dec 6, 2014
    Last edited by a moderator: Apr 20, 2017
    (OP)
    I got the cab package using the same powershell script on the page I linked (blog.compower. org/2014/02/20/enable-deduplication-windows-8-1). The PowerShell scripts are linked below the main text, as "download".

    The tip on CBS worked - it did identify the erroring file:
    Code:
    CSI    00000011 Hashes for file member [ml:20{10},l:18{9}]"dedup.sys" do not match.
    Expected: {l:32 ml:4096 b:320d1da26f15751744c1f93be6b5cbc275bb3781ead7cd95cb38c8fc881307c5}.
    Actual: {l:32 b:f934b61ae5678da07a016dd3956eb2760290ef63119a90eb83c963947e92f90e}.
    There are 7 versions of dedup.sys within the windows folder. Some seem to be compressed (~40 KB vs ~450KB). I can match up the SHA256 hash "f934b6..." to one of the 7, but I can't find any version of dedup.sys with a hash "320d1d...", and all of the smaller versions are unsigned. I don't know what to make of it, unless the expected files are currently all compressed somehow and therefore sigs don't show up? The source system is believed clean (updated a few weeks ago from 2012 to 2012 R2 using MSDN 2012 R2 DVD) and dedup is working fine.
     
  5. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    8,084
    26,927
    270
    #7 abbodi1406, Dec 6, 2014
    Last edited by a moderator: Apr 20, 2017
    As i said, the rollups will affect the process

    superseded (replaced) file get compressed when you run cleanmgr.exe or use Dism /Online /Cleanup-Image /StartComponentCleanup
    you can't decompress them unless by uninstalling newer updates
    the best workaround would be by extracting the components directly of updates MSU files
     
  6. Stilez

    Stilez MDL Novice

    Sep 16, 2009
    29
    0
    0
    Thanks, @MSMG and @abbodi1406. Those look like two solid hints, very appreciated this help, especially the full download file (was it posted elsewhere? Must have missed it).

    I'll try this tomorrow and expect it to work :)

    Out of curiosity, is there a quick way to find out which packages are needed to port a particular function, except for "trial and error" or "remove packages until it fails to install"? So far I've seen ports for loads of features (dedup, BDA, system restore, ReFS, etc) and a partial thread about porting functions generally, but not really any "how to" that explains enough to "try it for oneself" if one wants to port the packages for a feature between versions or to/from server and client.
     
  7. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    2,263
    5,402
    90
    There's no easy way to find out which packages are needed to update a particular component since most of the updates are bundle together as single packages and the same is offered by windows update.

    So the only way is to manually copy the delta update cabs offered by windows updates and extract those cabs and use a software which searches for a particular string related to the component you are looking for within the *.mum files found in the extracted cab folders.

    Then you can Tools like Bubbles Super Nasty SFX Extractor Tool to extract the packages required for the components you are looking for.

     
  8. Stilez

    Stilez MDL Novice

    Sep 16, 2009
    29
    0
    0