Hi zihming,
You’re not wrong in your assumption, what you’re running into is mostly a limitation of how VSS works on Windows XP. The AI answer actually covered the overall concept, so I will just go directly into it: In practice, Windows XP doesn’t really support the “keep multiple snapshots and compare them” approach you’re trying to implement.
On XP system, the snapshots created through the normal backup context are non‑persistent (basically temporary). They’re meant to exist only for the duration of the backup operation and then get released. Because of that, trying to keep one snapshot around and create another one on the same volume usually results in errors like VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED.
That said, differential backups are still supported, just not in that way. With VSS, differential isn’t done by comparing two live snapshots. Instead, it relies on metadata (backup stamps, last modified times, etc.) from the previous backup. In other words:
- You take one snapshot > do your backup > let it go.
- On the next run, you take a new snapshot and use the stored metadata to decide what changed.
- You don’t need (and can’t reliably keep) the previous snapshot around.
Also just a suggestion, since your idea may involve developer‑level VSS work, if you're building or maintaining this against modern requesters/writers, you should check in a developer‑focused channel to see if there's any more elevated workaround!
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.