According to the Windows Script documentation, the Exec command only works for executable files (as near as I can tell). The Run command, on the other hand is supposed to work on registered file types also. The only caveat with using Run is that it doesn't deal with spaces in the path unless the whole thing is bracketed in quotes. You need to do something like:
Dim strCommands
strCommands="%exedir%\Techno.pdf"
WshShell.Run(chr(34) & strCommands & chr(34))
Hope that works for you ...