The problem isn't running the programs from the server -- what titanmiller suggested (or some variant thereof) will work fine. Windows doesn't care if the program is loaded on the local disk, a mounted network drive, or a shared folder. The problem is that most *programs* aren't built to be run by multiple users simultaneously. If you have four different people trying to run one copy of, say, vanilla Microsoft Excel, it might not work right -- and it definitely won't work right if they want to read/write the same files simultaneously.
Programs which are built for multi-user access (like Oracle DB, or the server-based versions of Office) have built-in locking and protection mechanisms to manage access from multiple users. But "regular" applications usually don't.