$TARGETDIR$ is adding an extra slash after Program Files. If I select "C:\\Program Files\\My Product" as my install folder $TARGETDIR$ is returning "C:\\Program Files\\\\My Product\\" not "C:\\Program Files\\My Product\\" as it should (unless I'm missing something). I have the code below:
The problem is that you have "$PROGRAMFILES$\\My Product" as the Target Folder. Try changing that to "$PROGRAMFILES$My Product" as $PROGRAMFILES$ variable contains a leading back slash.
Alejandro Ronquillo
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/