Quality protein is the key. When it comes to
gaining weight there are two times that are especially important: post-workout and before bed. Post-workout your muscles are pretty much starved and your body is primed to replace lost energy substrate. So, almost all the calories you eat in the 2 hours following your workout will be used well and not towards increasing fat stores. That means that you should get as much nutrients as you can in this time. Why is important to load up on protein before bed? You're basically going into a fast when you sleep and in order for your body not to start using too much of the protein in muscles (going catabolic) you need some good, slow
digesting protein to minimize the damage.
In the end gaining weight is fairly uncomplicated:
1) Eat
a lot in the 2 hours post-workout. Try to make the calories fairly clean and shoot for a carb-to-protein ratio of 2:1. Fats will take care of themselves.
2) Take a protein-only shake with some EFA's (if possible) before bed (about an hour before so you don't have trouble getting to sleep).
I'm not a big fan of weight gain products as they're mostly glorified containers of mostly sugar. You'd be better off spending your money on good protein-only supps and adding other carbs that are less expensive.