[VBScript] Aunty Mel's Cheap And Nasty SxS Package Extractor (Updated 2013/09/30)

Discussion in 'Scripting' started by SuperBubble, Sep 17, 2013.

  1. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    #1 SuperBubble, Sep 17, 2013
    Last edited by a moderator: Apr 20, 2017
    [VBScript] Aunty Mel's Cheap And Nasty SxS Package Extractor (Updated 2013/11/09)

    Disclaimer
    This script is provided 'as-is' WITHOUT ANY WARRANTY WHATSOEVER, including, but not limited to, warranties of merchantability, fitness for purpose, actually working, not reformatting your hard disk, not consuming your children, and not destroying the universe. In no event will the author(s) or copyright holder(s) be held liable for any damages caused by the use of, or the inability to use, this script. The entire risk arising out of use and/or performance of this script remains solely with you. Note that some juristictions do not allow the exclusion or limitation of implied warranties or liability for incidental damages. This script MAY NOT be exported to, acquired in, downloaded in, hosted in, accessed in, or used in such juristictions where these implied warranties and/or liabilities for damages cannot be completely excluded. Getting the picture yet? USE AT YOUR OWN RISK.

    What does it do?
    May I present the (apparently?) long-awaited Aunty Mel's Cheap And Nasty SxS Package Extractor. Updated on 2013/11/09, now with a cheesy scent. I had no idea there was any demand for such a tool outside of reboot.pro, but this thread set me straight.

    It's a Windows Side-by-Side assembly/package extractor. If you don't know what that means, this script is going to be absolutely useless to you. It parses a package manifest file, hopefully chases up all the references, and might just copy all the files associated with the package into a folder (or Microsoft cabinet) for your later (ab)use.

    This script is not well-tested: the main loop was thrown together in a couple of hours, with small changes over a few days so it didn't crash if you breathed on it wrong. It's coming along nice though in my opinion, thanks to the bug reports flowing in. ;)

    It was reconstucted from a script I scribbled out last year to automate Windows RE package extraction, that I lost when I reformatted my hard disk in August 2013. It has quite a few improvements over that original, unreleased version though:

    • Like DISM, supports the /ONLINE and /IMAGE command-line switches, for extracting packages from offline copies of Windows, or (mounted) WIMs;
    • Something vaguely resembling error-checking;
    • A /DEBUG switch, which the output of might help you if package extraction goes wrong;
    • With help from my SxS File Expander tool, support for compressed SxS repositories (like in Windows 8.1);
    • With help from the MS Cabinet Tool (CABARC.EXE, from the Internet Explorer 10 Administration Kit), support for one-command cabinet creation.
    It, sadly, has some horrible limitations as well, though:

    • It's written in VBScript! So you'll have a bitch of a time integrating it into something else, or writing a GUI for it;
    • The /IMAGE command-line switch, unlike DISM, expects the image's Windows folder to be the last path element, rather the root path of the image. Where in DISM the parameter would be (for example) /IMAGE:C:\Folder\Mount, this script expects /IMAGE:C:\Folder\Mount\Windows;
    • A few people have had permissions problems with the script (which I'm still convinced is due to funny file ACLs). They've offered workarounds, however;
    • No doubt dozens of other failure cases because, just like the original, it's some of the most rushed, rubbish code I've ever written. :eek:
    How to use it?
    Please find the script attached to this post. Of course, change the filename to sxsextract.vbs before trying to use it. The command-line syntax is reasonably simple (stolen from the /? switch output):
    Code:
    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/11/09
    Copyright (C) 2012-2013 Melinda Bellemore. All rights reserved.
    
    CSCRIPT.EXE SXSEXTRACT.VBS [/?,/H,/HELP] [/DEBUG,/V] </ONLINE|/IMAGE:<folder>>
      [/INCLUDERES] [/VICIOUSHACKS] <source>.mum [<target>[.cab]]
    
    Parses a Windows Side-by-Side package manifest file, chases up all the
    references, and copies all the files associated with the package.
    
      /?,/H,/HELP      Display this help text.
      /DEBUG,/V        Enable verbose debug output.
      /ONLINE          Uses %SYSTEMROOT% (usually C:\Windows) as the root folder to
                       search for associated files.
      /IMAGE:<folder>  Uses <folder> as the root folder to search for associated
                       files instead.
      /INCLUDERES      Extract MUI resources as well, for packages that don't have
                       associated language packs.
      /VICIOUSHACKS    Activates a couple of hacks to the script, for extracting
                       'difficult' packages that don't reference assemblies by
                       exact name.
      <source>.mum     Specifies a package manifest file. Wildcards are not
                       permitted.
      <target>[.cab]   Specifies the target folder for extracted files. If the
                       extension '.cab' is specified, the script will call
                       CABARC.EXE to create a cabinet of the extracted files.
    
    This script requires both SXSEXPAND.EXE and CABARC.EXE, either in the
    current folder or on the system PATH, for full functionality.
    For example:
    Code:
    D:\>cscript.exe sxsextract.vbs /online C:\Windows\servicing\Packages\Microsoft-Windows-TFTP-Client-Package~31bf3856ad364e35~x86~~6.2.9200.16384.mum
    Bonus n00b repellant: Copy-pasting this command, and then complaining that it doesn't work in fractured AOLspeak, will not be looked upon kindly. The people this script is intended for understand what I'm trying to demonstrate here. Remember, this script is very niche; useless to 99% of computer users.

    Anyway, it will churn for a moment, generating a lot of output in the process, and a new folder (with the same base name as the package) will appear in the current folder. If the Windows Deployment Image Servicing and Management tool (known as DISM to its friends) and the target operating system are amenable - and my script didn't miss any files - that folder can be used as a parameter of the /Add-Package switch to install it into Windows PE, or a lesser edition of Windows than you extracted it from, et cetera.

    If you want to be a huge show-off, you can compress the resulting folder - by specifying '.CAB' as the extension of the output parameter - and then pack the resulting cabinet away in (for example) your WinPE build environment. Then sit back all hoity-toity and pretend you're an OEM like Dell or HP that can afford the OEM Preinstallation Kit!

    The /ONLINE and /IMAGE switches should be familiar to you if you've ever used DISM, and if you haven't, this is a very good time to start. :)

    If something does go wrong (and I have no doubt it will), the script has a /DEBUG switch, which increases the verbosity of the script while it's running by a factor of five, which will (hopefully) give you some clue as to what went wrong, and put you on the path of being able to fix it:
    Code:
    D:\>cscript.exe sxsextract.vbs /debug /online C:\Windows\servicing\Packages\Microsoft-Windows-TFTP-Client-Package~31bf3856ad364e35~x86~~6.2.9200.16384.mum
    Another switch is /VICIOUSHACKS which, as it's name suggests, turns on the 'vicious hacks' to the script, which might help in extracting 'difficult' packages; ones that don't reference their assemblies and/or manifests by exact name - examples of these include the TFTP client, and (if I recall) Adobe Flash for Windows 8.x. For instance:
    Code:
    D:\>cscript.exe sxsextract.vbs /vicioushacks /online C:\Windows\servicing\Packages\Microsoft-Windows-TFTP-Client-Package~31bf3856ad364e35~x86~~6.2.9200.16384.mum
    There's one more switch: /INCLUDERES. It's only for packages that don't have associated MUI resources in another package - the vastest majority do, presented as a package with the same base name as the package you're extracting, but with "en-US" (or another language code) in the file name. Therefore, it's not a good idea to use this switch unless you know for a fact the package you're extracting needs it. KNARZ explains it here in (slightly) more detail.

    Sample output
    Code:
    D:\>cscript sxsextract.vbs /vicioushacks /image:E:\Windows "E:\Windows\Servicing\Packages\WinPE-SRT-Package~31bf3856ad364e35~x86~~6.3.9600.16384.mum" WinPE-SRT.CAB
    
    <removed for length reasons. I may put it back in if there's popular demand>
    
    D:\>dir
     Volume in drive D is Data
     Volume Serial Number is BAAD-F00D
    
     Directory of D:\
    
    23/10/2013  12.16         7,553,183 WinPE-SRT.CAB
                   1 File(s)      7,923,012 bytes
                   0 Dir(s)  1,122,749,132,800 bytes free
    
    Support?
    Comments and bug reports are welcomed, often read, and sometimes even fixed. Having said that, the intended audience for this script doesn't strike me as the type to need much hand-holding.

    Works based upon this script are also welcomed, but please don't pretend you wrote it yourself - include an acknowledgement in the style of 'Based upon SuperBubble's SxS Package Extractor', ideally. That way, I won't have to sue you. :D

    Thanks!
    Hugs and snugs to murphy78, moderate and abbodi1406 for their interest in this script. I hope you find it useful. Special thanks to Stannieman and KNARZ for their keen interest and bug reports. Extra-special thanks to Mr Jinje for his GUI front-end, "Bubble's Cheap And Nasty SxS Extractor GUI", that he had a bitch of a time writing. :hug2:

    Change log
    2013/11/09:

    • Fixed a bug where (when not using the /INCLUDERES switch) an MUI reference in a manifest caused the script to skip the rest of the manifest, instead of only that reference; this (most famously) broke extraction of WinPE-SRT 6.3 - but it almost certainly broke other packages as well. Reported by abbodi1406.
    • Help fix by Mr Jinje.
    2013/10/24:

    • Whoopsie... the script has never even attempted to extract drivers - until now. Reported by KNARZ.
    • The previous version badly broke cabinet creation. Fixed.
    2013/10/22:

    • Rewritten copying routine, with considerably better error checking. It also uses the SUBST command to shorten file paths, which should help work around VBScript's path length limit of 260 characters - which is the underlying issue causing a lot of the file copying problems people were having. Based on multiple reports by KNARZ.
    • Now attempts to copy the package in uncompressed form to the target folder/cabinet, to match Windows 8.1 package semantics, and to help tools like CBS Package Inspector. Only slightly increases cabinet sizes (WinPE-SRT.CAB was 18.5 KB larger). Suggested by KNARZ.
    • The script will now only complain about SxS File Expander and/or MS Cabinet Tool being missing if it needs them/it for the current command.
    • Changed 'input' and 'output' terminology to 'source' and 'target', to match my SxS File Expander tool.
    • A teeny, tiny help fix.
    • You guessed it - better logging and debug output.
    2013/09/30:

    • New /VICIOUSHACKS switch, which makes optional a couple of hacks to the script that have existed since Generation II. These hacks were originally devised to allow extraction of the TFTP client.
    • The copy routines now have an error handler. This (finally!) fixes the crash reported by KNARZ, but frustratingly, doesn't solve the underlying problem, which might actually be a bug in VBScript.
    • Stopped publishing the script pseudonymously - third-rate Google-fu will reveal my name anyway. :fear:
    2013/09/28:

    • Previous version broke the /IMAGE switch. Fixed.
    • The script now detects whether the external tools (SxS File Expander and the MS Cabinet Tool) are available, rather than just crashing messily when trying to call them.
    • Another attempt to fix a crash reported by KNARZ - I doubt this one worked either.
    • Got creative with the invocation of the Cabinet Tool, to work around bugs in it's -P switch.
    • Fixed the sanity check that ensured the script actually loaded the right manifests - in the previous version, all manifests matching the wildcard were loaded.
    • New /INCLUDERES switch, for extracting MUI resources. It's now the default behaviour not to extract them, as the vast majority of feature packages have associated MUI packs.
    • Returned to the default of creating a folder - rather than a cabinet - of the extracted package, because there will be users who don't have (or want) the Cabinet Tool.
    • As per usual, better logging and debug output.
    2013/09/27:

    Heavily recoded and refactored. New bugs have almost certainly been introduced, old bugs may have been resurrected - be warned!

    • Now supports extraction from compressed SxS repositories (Windows 8.1, and Windows 8 with KB2821895), with help from my SxS File Expander tool.
    • Allows one-command cabinet creation with help from the Microsoft Cabinet Tool (CABARC.EXE), which is found in the IE10 Administration Kit.
    • Hopefully fixed a crash situation during package copy. Reported by KNARZ.
    • Put help into the script, accessible with the /? switch. Looks much more professional now.
    • Moved checking for existing folders and files to script startup, so you're not left waiting until the copy phase to find out a file is in the way, and needs to be deleted.
    • Forgot to mention: now defaults to creating a cabinet of the extracted package.
    • Better logging and debug output.
    2013/09/21:

    • The script no longer falls over if it adds the same file/folder to the copy list multiple times, hopefully enabling extraction of the Microsoft-Windows-Security-SPP-* packages. Reported by KNARZ.
    2013/09/20:

    • New 'wildcard' file matcher allows extraction of packages like Snipping Tool, which reference their MUI resources in an interesting way. Also vastly improves performance. Based on a report by Stannieman.
    • Better unexpected situation handling - some errors are now worked around, instead of stopping the script.
    • Abandoned 'Generation <X>' version designations, in favour of simple date-stamping.
    2013/09/19 - Generation III:

    • Fixed a typo that caused certain referenced assemblies/manifests to not be copied. Reported by Stannieman.
    • Fixed overly-aggressive editing of the names of copied assembly folders.
    2013/09/17 - Generation II:

    • Initial release.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    Woah thanks a lot!! Much more advanced that I could ever expect with even debug output! When I have time I'll make a C# gui app and hopefully I can find the solution to the new compression/encryption troubles, and maybe other failures.

    EDIT: While going to the Windows/servicing directory I wasn't really keeping attention, and by accident I stumbled across Windows/assembly. Looks quiet interesting. I only have win8.0 right now (setting up an 8.1 vm right now), so I can't check on 8.1 yet. But here the pub key token appears once again.
    In this article (click) go right to the bottom. Seems there's another article explaining more about what the key token exactly does. It may fix moderate's problem, though I think getting the manifests decompressed gives us a better chance.

    EDTI2: I checked, it appears the article about the key token was never written... It's nowhere to be found on the blog.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Mr Jinje

    Mr Jinje MDL Expert

    Aug 19, 2009
    1,770
    1,101
    60
    Good stuff Bubbs, cheap and nasty.

    Now come over here and sit on Aunty Mel's lap.

    Any chance someone wants to try porting the 2012-r2 "Storage Tiering" and "Storage Pinning" features for us.

     
  4. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    I do want to try, but 2012 r2 has the same problem as 8.1 with the compressed files.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    :blahblah1: It's some of the crummiest code I've ever thrown together. I just couldn't leave everyone waiting for weeks while I wrote (and tested) it properly. :p

    :poster_kewlpics: :roflmao: :roflmao: :roflmao: Brings back memories of my MUSHing days. :wheelchair:

    As Stannie mentioned, we need to defeat the compression (or simply brute-force it, by copying every file that could possibly be related) to get that. Why not download a 2012R2 ISO, and try extracting it yourself?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    We (or just I) overlooked something. Moderate's multiple file problem isn't really a problem. The last part is just a hash, so that means that all those manifests are for sure different ones. Once we can look into them that problem should be solved, as I think we can find all info in there.

    Now to make you laugh I stumbled upon a horrible, terrifying file.
    While checking some things I randomly choose a package that I expected to be simple, being Microsoft-Windows-SnippingTool-Package~31bf3856ad364e35~amd64~~6.2.9200.16384.
    It has no directory in sxs, only a manifest. So Stannie opens manifest, man refers to Microsoft-Windows-SnippingTool-App. Stannie opens Microsoft-Windows-SnippingTool-App and finds //assembly/assemblyIdentity/dependency/dependentAssembly/assemblyIdentity. That entity's name attr has the value Microsoft-Windows-SnippingTool-App.Resources

    What on earth is the .Resources doing there?
    On the other hand that's a really nice file, as it seems to contain all info about what shortcuts (lnk) to make where, what registry entries, what files to put where and what permissions to give it. It seems all components will eventually lead to one or a set of those manifests with detailed info. We could do it dirty and search all manifests that have the packagename in the filename/name attr and then check if it's a detailed one. If it is find the files, keep them save and store permissions and reg stuff. We can then install it manually on any windows install. Not through dism, but that might be a good thing as dism can't block "incompatible" things that would work well nevertheless.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    Yes, that's how it detects to give up on the spot - there's a small sanity check (helpfully commented 'Sanity check.' in the script if you want to find it :)) that compares what the parent .manifest (or .mum) file says to what the child manifest says. If they don't match, it abandons ship. I didn't have time to write the code that checks all the manifests that match the search pattern... not so much an oversight, as a deliberate omission to get the script out the door quicker. :eek:

    The bigger problem moderate had is, of course, that he was poking around in 2012 R2: no doubt those .manifest files are compressed, and therefore, we can't look inside to see which one's the right one... :(

    I considered doing that, but didn't for one big, scary reason: a manifest can declare a package it's dependant on. If the script copied the associated files for everything that looked like a SxS reference in a given manifest, we'd probably end up with half of Windows in the extract folder. :eek:

    Having said that though, that XML path (//assembly/assemblyIdentity/dependency/dependentAssembly/assemblyIdentity) looks harmless to me, so it should probably be checked for references.

    ... GRAH, I just altered my script to do just that, and it still only found three files: update.*, and that extra .manifest file - no folders were copied out of WinSxS at all. Must look into that when I get home. :confused:

    Bonus solution: Well, that was easy. A couple of simple typos as it turned out - OP updated with new version. :D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    #8 KNARZ, Sep 20, 2013
    Last edited by a moderator: Apr 20, 2017
    Will run some tests on weekend.

    Code:
    cscript sxsextract.vbs /online C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    Debug:

    Microsoft (R) Windows Script Host, Version 5.8
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/09/20
    Copyright ¸ 2012-2013 "SuperBubble". All rights reserved.

    [Information] Loading manifest: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum

    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package
    -------------------------------------------------------------------------------
    Version: 6.1.7601.17514 Architecture: amd64
    Language: neutral Public key token: 31bf3856ad364e35

    [Information] Finding possible associated assembly folders.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radD564F.tmp"
    [ Debug ] Vicious hack: add '-Package' to assembly name.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad771BD.tmp"
    [ Debug ] Really vicious hack: remove '-Package' from assembly name.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad077D3.tmp"
    [ Debug ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [ Debug ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [ Debug ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [ Debug ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [ Debug ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [ Debug ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad17DA4.tmp"
    [ Debug ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest

    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment
    -------------------------------------------------------------------------------
    Version: 6.1.7601.17514 Architecture: amd64
    Language: neutral Public key token: 31bf3856ad364e35

    [ Debug ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad358B1.tmp"
    [ Debug ] Vicious hack: add '-Package' to assembly name.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radF2711.tmp"
    [Information] Couldn't find any associated assembly folders.
    [ Debug ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [ Debug ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [ Debug ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad4728F.tmp"
    [ Debug ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest

    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate
    -------------------------------------------------------------------------------
    Version: 6.1.7601.17514 Architecture: amd64
    Language: neutral Public key token: 31bf3856ad364e35

    [ Debug ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [ Debug ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [ Debug ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radB6CC4.tmp"
    [ Debug ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7

    Translated Error:
    sxsextract.vbs(286, 5) Runtime-error. Key is already added to an element. (something like this)
     
  9. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    I'm thinking more and more of looking at the api the servicing system uses for this. It's undocumented, but might cost us less time to find out than finding all the magic ourself. Now with every new thing we find the script gets more and more complex to make it check for everything, and still then it's far from perfect.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    here is the XSD:Schema. I don't know if this is helpfull... but maybe.
    View attachment 24107

    could differ in minor parts as this is extracted from embedded binaries.
     
  11. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    I was wondering how long it would be before this one reared its ugly head. Because of a couple of hacks I made, it sometimes tries to add the same file(s) and folder(s) to the copy list multiple times. Dictionaries (the VBScript version of a Perl associative array) don't like you doing that. :rolleyes:

    Fixed in new version attached to OP - now the script ignores multiple attempts to add the same file/folder to the copy list.

    Bonus edit:
    It's 'Cheap and Nasty' for a reason - only 18KB including comments. :D

    Having said that, I think you're right, in the long run: a native code version, with a bit more brains will hopefully supercede my script. The problem is, I doubt the servicing stack provides a complete enough API to cover what the script does. You could fill in the holes, but I think, in the end, you'd end up with a program not too different (and a similar size) to DISM.EXE.

    To top it all off, if we start relying on undocumented APIs (that MS are free to change any time they like), any old Windows update could change the API out from under us. That's a feature of my script that I really like: it has no dependency on how the servicing stack works, only its results - that's why it works even for Vista.

    You'd be VERY surprised how helpful that will be. Thanks. :worthy:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    I don't know when I'll make the app. Reason is that school has started again, and we get programming there too. And when I've been coding for school it's a relief to lay all the programming stuff aside.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    #14 KNARZ, Sep 24, 2013
    Last edited by a moderator: Apr 20, 2017
    Code:
    Microsoft (R) Windows Script Host, Version 5.8
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
    
    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/09/21
    Copyright ¸ 2012-2013 "SuperBubble". All rights reserved.
    
    [Information] Loading manifest: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad75C26.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radF9148.tmp"
    [   Debug   ] Really vicious hack: remove '-Package' from assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad04EF4.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad0BBE7.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad2E9D2.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad26113.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad0A706.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radFCFC4.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] CopyList key already exists: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad39532.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    
    [Information] Starting copy. Number of files/folders: 5
    [Fatal error] Target folder already exists: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
    
    Code:
    cscript sxs.vbs /debug /online C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum > C:\debug2.txt
    
    results in sxs.vbs(551, 4) Runtime Error in Microsoft VBScript: Path not Found. (Translated)
    Code:
    C:.
    |   update.cat
    |   update.mum
    |
    \---amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    
     
  15. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    I'm not precisely sure what code blocks 2 and 3 are about, but the first is definitely that the folder it's extracting to already exists. Delete it before trying again.

    I'll take a stab in the dark at 2 and 3, which look very much like they don't like your folder structure. Try invoking the script when you're in a different folder. Despite all my examples being invoked from the root folder of a drive, I'm not convinced VBScript actually likes doing that very much - the way the code ties paths together probably has failure cases if you're in the root folder... and I'm babbling from sleep-deprivation here.

    Hope I've been some help. :bye1:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    #16 KNARZ, Sep 26, 2013
    Last edited by a moderator: Apr 20, 2017
    2. = Command I used.
    3. = Tree of the created Folder from MUM... 2 files 1 empty Subfolder


    Done it in root with no subfolder exisiting.

    I donate 5-10$ if we get a full working script, it ment a lot to me, as this could in combination with PPE (ProductPolicyEditor) create a full customizeable Windows. With cab automation this would become perfect. (if the cabarc exisits in the folder or system32, or with switch /cab or something). Also it would become pretty easy to replace parts from W8 or W7 (if it generally works). - I have some ideas in mind.

    Code:
    Microsoft (R) Windows Script Host, Version 5.8
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
    
    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/09/21
    Copyright ¸ 2012-2013 "SuperBubble". All rights reserved.
    
    [Information] Loading manifest: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad09855.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radED610.tmp"
    [   Debug   ] Really vicious hack: remove '-Package' from assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radA0815.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\radCF734.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad337E6.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radC7395.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying file name: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad37A84.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radDBA41.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] CopyList key already exists: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radD94B3.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    
    [Information] Starting copy. Number of files/folders: 5
    [Information] Created target folder: C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.cat --> Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.cat
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum --> Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.mum
    [Information] Copying folder: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7 --> Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    
    Runtimerror as in block 2.
     
  17. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    That should be enough information to debug it, thanks. I'll get onto it once I've had a nap. I'll take the opportunity to integrate my SxS file expander while I'm at it. :biggrin:

    Bonus update: Brand new version in the OP. I'm not completely sure it fixes your bug though, KNARZ. Give it a whirl and see what happens.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    #18 KNARZ, Sep 27, 2013
    Last edited by a moderator: Apr 20, 2017
    Code:
    C:\>cscript sxs.vbs /debug /online C:\Windows\servicing\Packages\Microsoft-Windo
    ws-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.
    17514.mum > Debug_09-27-2013.txt
    C:\sxs.vbs(630, 4) Runtimeerror in Microsoft VBScript: Path not found
    
    Code:
    Microsoft (R) Windows Script Host, Version 5.8
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
    
    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/09/27
    Copyright (C) 2012-2013 "SuperBubble". All rights reserved.
    
    [   Error   ] Output path not specified, assuming: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.cab
    [Information] Loading manifest: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad0BA70.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad12431.tmp"
    [   Debug   ] Really vicious hack: remove '-Package' from assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radAFD20.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad3D881.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radC7812.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad3EF3C.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\radA3F1F.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [   Debug   ] Manifest matches parent assembly reference.
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radBF242.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] CopyList key already exists: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad9A91F.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Starting package creation. Number of files/folders: 5
    [   Debug   ] Created temporary output folder: C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.cat --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.cat
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.mum
    [Information] Copying folder: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7 --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    
    Still the two files and an empty subfolder.
    Runtimeerror in 640,4
     
  19. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    294
    10
    Lines 630 and 640 are just 'glue' statements - they don't seem to reference any objects or paths at all. :confused:

    Anyway, OP updated to new version (with an embarrassingly long changelog :eek:) - but I doubt it's fixed. o_O
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    #20 KNARZ, Sep 28, 2013
    Last edited by a moderator: Apr 20, 2017
    Not working. Now it says line 680,4

    Code:
    Microsoft (R) Windows Script Host, Version 5.8
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.
    
    Aunty Mel's Cheap And Nasty SxS Package Extractor, 2013/09/28
    Copyright (C) 2012-2013 "SuperBubble". All rights reserved.
    
    [   Error   ] SxS File Expander not available - can't access compressed files.
    [   Error   ] MS Cabinet Tool not available - can't create cabinet files.
    
    [   Error   ] Output path not specified, assuming: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
    [Information] Loading manifest: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad06037.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ate-Package-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad23528.tmp"
    [   Debug   ] Really vicious hack: remove '-Package' from assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radF5BB9.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad3310C.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ultimate-deployment_31bf3856ad364e35_6.1.7601.17514_none_c12df7b201462ce1.manifest
    [   Debug   ] Manifest matches parent assembly reference.
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Deployment
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..Ultimate-Deployment_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad15BBE.tmp"
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..-Deployment-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\radC2F2D.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [Information] Finding matching manifest for assembly reference: Microsoft-Windows-Security-SPP-Component-SKU-Ultimate,31bf3856ad364e35,amd64,neutral,6.1.7601.17514
    [   Debug   ] Trying file name: C:\Windows\Servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate~31bf3856ad364e35~amd64~~6.1.7601.17514.mum
    [   Debug   ] Trying wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\Manifests\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????.manifest" > "C:\Users\ADMINI~1\AppData\Local\Temp\radD682E.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [Information] Loading manifest: C:\Windows\WinSxS\Manifests\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7.manifest
    [   Debug   ] Manifest matches parent assembly reference.
    
    Microsoft-Windows-Security-SPP-Component-SKU-Ultimate
    -------------------------------------------------------------------------------
    Version:          6.1.7601.17514        Architecture:     amd64
    Language:         neutral               Public key token: 31bf3856ad364e35
    
    [Information] Finding possible associated assembly folders.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..ponent-SKU-Ultimate_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad7B93D.tmp"
    [   Debug   ] Wildcard match: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [Information] Found associated assembly folder: amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] CopyList key already exists: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7
    [   Debug   ] Vicious hack: add '-Package' to assembly name.
    [   Debug   ] Matching wildcard: C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????
    [   Debug   ] Executing: CMD.EXE /C DIR /A /B "C:\Windows\WinSxS\amd64_Microsoft-Windows-S..KU-Ultimate-Package_31bf3856ad364e35_6.1.7601.17514_none_????????????????" > "C:\Users\ADMINI~1\AppData\Local\Temp\rad6DDBC.tmp"
    [Information] Couldn't find any associated assembly folders.
    [   Debug   ] Checking XML path for assembly references: //assembly/dependency/dependentAssembly/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/package/assemblyIdentity
    [   Debug   ] Checking XML path for assembly references: //assembly/package/update/component/assemblyIdentity
    [Information] Starting package creation. Number of files/folders: 5
    [Information] Created output folder: C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.cat --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.cat
    [Information] Copying file: C:\Windows\servicing\Packages\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\update.mum
    [Information] Copying folder: C:\Windows\WinSxS\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7 --> C:\Microsoft-Windows-Security-SPP-Component-SKU-Ultimate-Package~31bf3856ad364e35~amd64~~6.1.7601.17514\amd64_microsoft-windows-s..ponent-sku-ultimate_31bf3856ad364e35_6.1.7601.17514_none_f7e6a2aa970662b7