Der richtige Weg wurde von jaenicke eigentlich bereits beschrieben: Eigenes Programm nochmals als Administrator starten und die zweite Instanz die Daten schreiben lassen. Alternativ kann man auch ein anderes Programm als Administrator starten, das diese Aufgabe übernimmt. In diesem simplen Fall wäre das sogar mit dem bei Windows mitgelieferten reg.exe möglich.
Ein Manifest einzubinden, das dazu führt, dass das Programm permanent als Administrator läuft, ist eigentlich nur für Programme gedacht, die gar nicht ohne diese Berechtigungen auskommen: alles mit Direktzugriff auf Datenträger oder andere Hardware, zum Installieren von Treibern und Bearbeiten von Diensten usw.
[EDIT]
Andere Programme mit Anforderung von Adminrechten starten geht z.B. bei ShellExecute(Ex) über das Verb 'runas' (statt dem standardmäßigen 'open'). Wichtig: Ist die
UAC deaktiviert (und der Nutzer hat keine Adminrechte), bewirkt das Verb 'runas' gar nichts. D.h. man sollte dennoch entweder auf das Vorhandensein der nötigen Berechtigungen prüfen und/oder darauf vorbereitet sein, dass der Vorgang fehlschlagen kann.
[/EDIT]
Grüße
Dalai