!echo $EXEDIR makes no sense, you need to learn the difference between compile time and run time and variables vs defines.
You probably want "File", not "CopyFiles".
You can't mix "RequestExecutionLevel user" and $Programfiles.
IntOp $PostCount $PostCount + 1
|