Fafhrd said: View Post
I think it is a rather clever tool, but it has many functions within.

It produces a windows.iso tailored to your existing system and OS, and obtains among other things, the activation status of your system, Product code, your hardware and software details.

I think if you try to produce an all in one (x64 and x86 versions) USB, You may well have problems with it.

As far as tool for this use goes, it is like using a screwdriver as a circuit continuity tester for your home electrics. Bang! Yep, we have continuity, but we lost the screwdriver, and the operator!

The ~WS folder contains some interesting stuff to give you an idea of how it works.
First the structure (made using the tree command in Windows 8.1 cmd.exe):

Code:
tree /A c:\$windows.~WS > c:\Treecopy\trees\tree-of-$windows.~WS.txt


notepad c:\Treecopy\trees\tree-of-$windows.~WS.txt
Code:
C:\$WINDOWS.~WS
\---Sources
    +---Panther
    \---Windows
        +---boot
        |   +---en-gb
        |   +---fonts
        |   \---resources
        +---efi
        |   +---boot
        |   \---microsoft
        |       \---boot
        |           +---fonts
        |           \---resources
        +---sources
        |   +---dlmanifests
        |   |   +---bitsextensions-server
        |   |   +---en-gb
        |   |   +---microsoft-activedirectory-webservices-dl
        |   |   +---microsoft-windows-bluetooth-config
        |   |   +---microsoft-windows-com-complus-setup-dl
        |   |   +---microsoft-windows-com-dtc-setup-dl
        |   |   +---microsoft-windows-dhcpservermigplugin-dl
        |   |   +---microsoft-windows-directoryservices-adam-dl
        |   |   +---microsoft-windows-iasserver-migplugin
        |   |   +---microsoft-windows-ie-clientnetworkprotocolimplementation-migration
        |   |   +---microsoft-windows-iis-dl
        |   |   +---microsoft-windows-international-core-dl
        |   |   +---microsoft-windows-internet-naming-service-runtime
        |   |   +---microsoft-windows-mediaplayer-drm-dl
        |   |   +---microsoft-windows-msmq-messagingcoreservice
        |   |   +---microsoft-windows-ndis
        |   |   +---microsoft-windows-networkbridge
        |   |   +---microsoft-windows-networkloadbalancing-core
        |   |   +---microsoft-windows-offlinefiles-dl
        |   |   +---microsoft-windows-performancecounterinfrastructure-dl
        |   |   +---microsoft-windows-performancecounterinfrastructureconsumer-dl
        |   |   +---microsoft-windows-rasconnectionmanager
        |   |   +---microsoft-windows-rasserver-migplugin
        |   |   +---microsoft-windows-shmig-dl
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-storagemigration
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-sxs
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-tapisetup
        |   |   +---microsoft-windows-terminalservices-licenseserver
        |   |   +---microsoft-windows-textservicesframework-migration-dl
        |   |   +---microsoft-windows-unimodem-config
        |   |   +---microsoft-windows-winsock-core-infrastructure-upgrade
        |   |   +---microsoft-windows-wmi-core
        |   |   \---networking-mpssvc-svc
        |   +---en-gb
        |   +---etwproviders
        |   |   \---en-gb
        |   +---inf
        |   +---migration
        |   |   \---wtr
        |   +---replacementmanifests
        |   |   +---en-gb
        |   |   +---microsoft-activedirectory-webservices
        |   |   +---microsoft-client-license-platform-service-migration
        |   |   +---microsoft-ehome-reg-inf
        |   |   +---microsoft-hyper-v
        |   |   +---microsoft-international-core
        |   |   +---microsoft-windows-appx-deployment-server
        |   |   +---microsoft-windows-audio-mmecore-other
        |   |   +---microsoft-windows-bth-user
        |   |   +---microsoft-windows-deviceaccess
        |   |   +---microsoft-windows-deviceassociationframework
        |   |   +---microsoft-windows-directoryservices-adam-client
        |   |   +---microsoft-windows-gameuxmig
        |   |   +---microsoft-windows-iis-rm
        |   |   +---microsoft-windows-mapscontrol-migration
        |   |   +---microsoft-windows-ndis
        |   |   +---microsoft-windows-network-setup
        |   |   +---microsoft-windows-offlinefiles-core
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-pnpmigration
        |   |   +---microsoft-windows-rasapi-mig
        |   |   +---microsoft-windows-rasserver-migplugin
        |   |   +---microsoft-windows-security-ngc-localaccountmigplugin
        |   |   +---microsoft-windows-shmig
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-storagemigration
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-sxs
        |   |   |   \---en-gb
        |   |   +---microsoft-windows-terminalservices-appserver-licensing
        |   |   +---microsoft-windows-terminalservices-licenseserver
        |   |   +---microsoft-windows-textservicesframework-migration
        |   |   +---networkbridge
        |   |   +---printing-localprinting-replacement
        |   |   +---sebmigration
        |   |   +---sppmig
        |   |   +---usb
        |   |   +---windowssearchengine
        |   |   \---wslicensing
        |   +---sxs
        |   +---vista
        |   \---xp
        \---support
            \---logging
                \---en-gb
The first interesting folder is Panther

Code:
FOLDER    C:\$Windows.~WS\Sources\Panther\
FILE    29/07/2015 14:27    2,839    diagerr.xml
FILE    29/07/2015 14:27    19,815    diagwrn.xml
FILE    29/07/2015 14:27    501,154    setupact.log
FILE    29/07/2015 14:27    351    setuperr.log
FILE    29/07/2015 14:27    26,644    windlp.state.xml
FILE    29/07/2015 14:27    26,644    windlp.state-old.xml
This is a snapshot of my Windows 8.1 installation revealing some interesting things.
The XML files may be opened in a web browser or notepad, or a custom xml editor, the log files in notepad or any text editor.

I'll post back when I have explored further on copies of these files, not to risk their corruption - any digging around by other interested parties would be welcomed.
I must thank you for your Tree View. Using that as a guide, I was able to scan my HDD for the $Windows.~WS folder that was deleted by sticking the .iso into the ODD and walking away to get coffee. I came back, cancelled the install, as I only wanted to explore the disk contents. Cancelling the install forced a wipe of the folder. Oddly, the $Windows.~BT and inetpub(?) remained on the C:\ drive. These 3 folders are required to 'rollback' to the previous OS. I used Piriform's Recuva at first, unsuccessfully. I might not have given it a fair chance though, as I didn't look at it's CLI Options and such. Using Active@Undelete I was able to recover the folder and contents. Each tool had to run scans, both taking over 24 hours to complete as my HDD is 2TB. My final results were attained by running @Undelete from a boot disk(USB) and recovering from an image to another HDD, then rebooting and copy/pasting the $Windows.~WS folder to the C:\ drive.

I successfully reverted from 10 to 7. I have not given up on 10, but at this point, it is a hindrance more than a boon. No drivers for my expensive printers(yes, plural), Store Apps and Default Apps not launching/crashing(yes, ran TS's/FixIt!'s and RA from MS Support did not fix).

If it turns out this reply/post is misplaced, please move it to an appropriate spot, however this is relevant to many across several topics/threads: Unable to Rollback, Contents of $Windows.~**(because most Undeleters only scan for user files/file sigs, not folders+contents or in this case, system files), Installer Deleted my $Windows.~**...

TENFORUMS: WHY NO SPOILER TAGS!!?? WTH, get with the times, yo!!! I can't even do an html Show, Show/Hide!?
<input class="spoilerbutton" type="button" value="Show" onclick="this.value=this.value=='Show'?'Hide':'Show';">
<div class="spoiler"><div>
Code:
some code
</div></div>

Click the button to show code
<div id="spoiler" style="display:none">
Code:
some code
</div>
<button title="Click to show/hide content" type="button" onclick="if(document.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{document.getElementById('spoiler') .style.display='none'}">Show/hide</button>