The attempt that was made at System Restore has failed. The developer that wrote this code is using RootDirectory (C:\) as the place to build the restore. Then is very sloppily calling ResourceCleaner.dll to get rid of the tempdirectory and wiping out all hidden and system files on the root that are not in use. Boot files are only used at boot time, so guess what... That is the last boot for that machine after this process takes place. This will completely kill all Windows XP64 Machine with a default setup.
Here are the offending rows in my AIP that I removed to stop making bricks of my machines.
<ROW Action="AI_AiBackupImmediate" Description="Preparing backup operation" Template="Path: [1]" DescriptionLocId="ActionText.Description.AI_AiBackupImmediate" TemplateLocId="ActionText.Template.AI_AiBackupImmediate"/>
<ROW Action="AI_AiBackupRollback" Description="Rollback backup" Template="Path: [1]" DescriptionLocId="ActionText.Description.AI_AiBackupRollback" TemplateLocId="ActionText.Template.AI_AiBackupRollback"/>
<ROW Action="AI_AiRestoreDeferred" Description="Executing restore operation" Template="Path: [1]" DescriptionLocId="ActionText.Description.AI_AiRestoreDeferred" TemplateLocId="ActionText.Template.AI_AiRestoreDeferred"/>
<ROW Action="AI_AiRestoreRollback" Description="Rollback restore" Template="Path: [1]" DescriptionLocId="ActionText.Description.AI_AiRestoreRollback" TemplateLocId="ActionText.Template.AI_AiRestoreRollback"/>
<ROW Name="ResourceCleaner.dll" SourcePath="<AI_CUSTACTS>ResourceCleaner.dll"/>
<ROW Action="AI_AiBackupCleanup" Type="1" Source="ResourceCleaner.dll" Target="OnAiBackupCleanup" WithoutSeq="true"/>
<ROW Action="AI_AiBackupImmediate" Type="1" Source="ResourceCleaner.dll" Target="OnAiBackupImmediate"/>
<ROW Action="AI_AiBackupRollback" Type="11521" Source="ResourceCleaner.dll" Target="OnAiBackupRollback"/>
<ROW Action="AI_AiRestoreDeferred" Type="11265" Source="ResourceCleaner.dll" Target="OnAiRestoreDeferred"/>
<ROW Action="AI_AiRestoreRollback" Type="11521" Source="ResourceCleaner.dll" Target="OnAiRestoreRollback" WithoutSeq="true"/>
<ROW Action="AI_AiBackupImmediate" Sequence="1001"/>
<ROW Action="AI_AiBackupRollback" Sequence="1501"/>
<ROW Action="AI_AiRestoreDeferred" Sequence="6599"/>
While I am writing this. A developer has also gotten wise and decided to change the file paths to relative. If I select A path, I expect to to stay that way. It is common to take an installation from one tree and use it in another. Changing my "T:\" to "..\..\" completely screws that up and often the tree I just finished with as well. If I wanted relative paths, I would have used them.
If this would have made it to our customers, the company I work for would have gotten rid of both you and me. But based on this egregious error in design and testing, I suspect, I wouldn't be long looking for work.
Before you start:
BACKUP NTDETECT.com ntldr, boot.ini
Place them somewhere outside of root, you will need them.
To reproduce
On XP64 Only:
Run main install
Run Patch install
Uninstall main product (without uninstalling the patch first)
Look at C:\ and watch the files disappear.
Copy your saves in: repeat until you believe.