There are a few solutions, which one is best differs on the exact problem.
For most cases, like MS Office and Visual Studio, the problem is that registry entries, environment variables, etc are installed. To make the program portable, you need to move those entries. That means either adding them to all computers, using a .REG file or some such, or sandboxing the program.
There are programs that can handle it, like Thinstall. You can also do it manually. Googling ways to sandbox the install or detect changes pre/post install will get you more results.
In general, the programs will be pretty big and take some time to load. It varies on the program and how to pack it up. You also might want to check the EULA before you start moving them around, just to make sure it's ok.