System Restore Points
By default, AppProfileSafe creates a Windows System Restore Point before every import operation. This provides a rollback mechanism in case imported registry keys or files cause issues. The restore point is created via PowerShell's Checkpoint-Computer cmdlet with the type MODIFY_SETTINGS.
Default Behavior
| Interface | Behavior |
|---|---|
| GUI | A restore point is created automatically before the import begins. A progress window shows the creation status. If creation fails, a dialog asks whether to continue or abort. |
| CLI | A restore point is created automatically. If creation fails and neither --noRestorePoint nor --ignoreRestorePointLimit is specified, the CLI exits with code 2. |
The restore point description includes the application names being imported, for example: "AppProfileSafe Import: Firefox, Chrome".
The 24-Hour Limit
Windows limits system restore point creation to once per 24 hours. If a restore point was created within the last 24 hours (by AppProfileSafe or any other application), creation is skipped and the import proceeds normally — the existing recent restore point provides sufficient rollback coverage.
AppProfileSafe detects this limit by querying existing restore points via PowerShell before attempting creation. The 24-hour check is performed proactively, so the PowerShell error code 0x81000101 is handled gracefully if encountered.
Prerequisites
Restore point creation requires:
- Administrator privileges — Already required by AppProfileSafe for all operations.
- System Restore enabled — Must be turned on in Windows System Properties → System Protection. If disabled, creation fails with an appropriate message.
- System Restore service running — The
srservice(System Restore Service) must not be disabled.
CLI Options
| Parameter | Effect |
|---|---|
--noRestorePoint |
Skip restore point creation entirely. The import proceeds without any rollback safety net. Use this in environments where System Restore is intentionally disabled or where restore points are managed externally. |
--ignoreRestorePointLimit |
Attempt to create a restore point, but continue the import even if creation fails (due to the 24-hour limit, disabled service, or any other reason). Useful for scheduled tasks that should not fail because of restore point issues. |
Both parameters are import-only. Using them with --export causes a validation error (exit code 1).