I always have a special plight within my heart for questions involving weight gain...you see, I too am/was a hardgainer until I attacked
weight lifting from a scientific angle.
There are a lot of good weight gain products out there. From GNC ProPerformance 2200 to Optimum Nutritions Mighty One 3000. They will ALL work if supplemented properly with solid meals. Below is the recipe I currently use. Take one shake Morn, Post Workout, and B4 Bed (THE MOST IMPORTANT SHAKE...don't respond with arguments about that). Be sure however, to STILL EAT Solid foods for Breakfast, Lunch, Dinner and anytime in between that you have free time.
1 cup Milk (110 cals, 8gm protein)
1 serving Optimum Nutrtion 100% Any Whey (110 Cals, 23grams Protein)
2 servings
Optimum Nutrition MIghty One 3000 (400+ Cals, 10 grams protein)
1 tablespoon Canola oil (110 cals)
Peanut butter or banana (or whatever for flavoring)
I add some water to that because I don't like my shakes too thick.
It comes out to around 800 cals and 40 grams of protein. 3 times a day, that's half of what you need. Get the rest of your nutrients from FOOD. Chicken, Eggs, Rice, beef.
Oh, Mightyone 3000 is around $20 for 8 lbs.