I want my setup program to copy some files into the Windows ProgramData directory, I see that most Windows directories have pre-defined constants already defined in
It's named so, because historically (Windows XP) the path used to be C:\Documents and Settings\All Users\Application Data (now that's a symbolic link to the C:\ProgramData).
And for the same reason, using the {sd}\ProgramData is not the correct way.