Ich würde das ganze mit dem Starten als anderer Benutzer sein lassen. Es genügt, wenn du einen Dienst schreibst, der das übernimmt und den so konfigurierst, dass er als anderer Benutzer läuft (der, der die Rechte hat). Das sollte über die Softwareverteilung klappen, sofern es eine gibt, oder ansonsten mit einem Aufruf der sc.exe mit Adminrechten erledigt sein. Du brauchst dann nur den Dienst per
IPC steuern.
Geht natürlich auch.
Aber wenn ich den TE richtig verstanden habe, dann wird das Speichern nur in großen Abständen durchgeführt. Dazu immer einen Dienst laufen lassen, der Ewigkeiten nutzlos Rechenzeit verbraucht?