i used the InitPluginsDir command in .OnInit, and then used the following code:
Section "Installation"
SetOutPath $PLUGINSDIR
File program.exe
File /r bin
MessageBox MB_OK|MB_ICONEXCLAMATION "plugindir: $PLUGINSDIR\\program.exe$\\r$\\ninstalldir: $INSTDIR\\program.exe"
SectionEnd for some reason this outputs:plugindir: C:\DOCUME~1\username\LOCALS~1\Temp\nsg53.tmp\program.exe
installdir: C:\DOCUME~1\username\LOCALS~1\Temp\program.exe
no wonder ExecWait didn't work when i used $INSTDIR\program.exe
why the difference? :S
btw, this forum strips single back slashes from php tags but not the rest of the post, i had to double them up to get them to display!