Wenn SharedData genutzt werden soll, dann muss in ProgramData ein Ordner mit passenden Rechten angelegt werden (wenn alle Benutzer dort schreiben soll).
Lesend ist kein Problem.
Wie Luckie schon schreibt, nutze die
API Funktionen und die Ordnerpositionen zu ermitteln.