- Extended wildcard support
- File and directoy elements support wildcards as most Windows console programs do. That means you can put multiple wildcards in each path attribute.
- Registry keys and values also have almost propper wildcard support. You can put several wildcards in the path attribute of the <Key> and <Value> elements. The <Key> wildcards are resolved as in the <File> or <Directory> elements. The wildcards in <Value> elements are resolved according to the value attribute. For example, if you have a wildcard in the value and path attributes, the removal tool should find all the values in all keys after resolving the wildcards. This is to some extend possible with the "reg.exe query" method.
- File and directoy elements support wildcards as most Windows console programs do. That means you can put multiple wildcards in each path attribute.
- New element <Manifests>. Instead of putting the manifest files and directories and registry entries into their respective elements, they get their own element. This removes redundancies and makes it easier to make changes in the future how those elements are processed during removal without having to change the xml. We probably still don't understand the process of how these files and registry entries are used by Windows.
- New element <Packages>. Some components are referenced in separate packages (located in Windows\servicing\Packages and in two places in the registry, HKLM\software\microsoft\windows\currentversion\component based servicing and HKLM\COMPONENTS\CanonicalData). This entry is needed to remove those packages. It cannot be put into the other elements because some registry entries are totally different in different versions of Windows (those in CanonicalData). They need to be resolved during component removal.
Below is an example xml that features all those changes (note: this is a semi- ficticious example).
<?xml version="1.0" encoding="UTF-8"?>
<_7Customizer>
<Componenet group="System" name="Anytime Upgrade" requiredForStableSystem="false" size="1">
<Description>Upgrade Windows to a different edition.</Description>
<DependantComponenets/>
<NeededFor/>
<Files>
<File method="delete" path="ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Anytime Upgrade.lnk"/>
<File method="delete" path="Windows\Help\Windows\en-US\anyupgr.h1s"/>
<File method="delete" path="Windows\System32\WindowsAnytimeUpgrade.exe"/>
<File method="deleteLine" path="Windows\winsxs\Manifests\*microsoft-windows-h..epremium-deployment_*.manifest" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
<File method="deleteLine" path="Windows\winsxs\Manifests\*microsoft-windows-h..omebasic-deployment_*.manifest" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
<File method="deleteLine" path="Windows\winsxs\pending.xml" string="Microsoft-Windows-Anytime-Upgrade"/>
<File method="deleteLine" path="Windows\winsxs\pending.xml" string="Microsoft-Windows-Help-AnytimeUpgrade"/>
</Files>
<Directories>
<Directory path="Windows\System32\fiction\*win*">
</Directories>
<Registry>
<Keys>
<Key part="software" path="Classes\CLSID\{BE122A0E-4503-11DA-8BDE-*}"/>
</Keys>
<Values>
<Value part="software" path="Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_*" value="WindowsAnytime*"/>
</Values>
</Registry>
<Manifests>
<Manifest id="*microsoft-windows-anytime-upgrade_*"/>
<Manifest id="*microsoft-windows-anytime-upgradeui_*"/>
</Manifests>
<Packages>
<Package id="Microsoft-Windows-Anytime-Upgrade-Results-Package*"/>
<Package id="Microsoft-Windows-Anytime-Upgrade-Package*"/>
</Packages>
</Componenet>
</_7Customizer>



Help
Back to top










