Butyl Rubber Sealant.
First off, the windshield gasket is probably rotted away, hence the leakage...that or poor sealant in the first place.
My advice is to yank the windshield out and replace the gasket. It is NOT a difficult job. If the headliner is in need then do it at this time.
Use butyl rubber sealant to seal it all up. IT's a flexible sealant, so it can take the flexing of the gasket. Do NOT use 3M weather strip adhesive or window weld (do however, use window weld for spot leaks.) If you are having trouble locating this sealant, I got it from my local Ace Hardware ( Home Depot and Lowe's did not have it) and it was marked as a gutter and tiling sealant. Typically comes in gray, white or black. Try to get black.
While you are at it also get mineral spirits, paint thinner or charcoal lighter fluid. You can prety much wipe the stuff away with any of those three if you do it before it cures (24 hrs.)
To get the gasket around the metal lip, use a string. Tie the string around the gasket crack, then put the sealant, generously (but don't over do it!) on the gasket. Set it into place and you can pull thestring to get the gasket over the lip. Here is where you will make the mess. Have a soft bristle brush and a rag ready to get the sealant off the headliner and/or the A pillar.
I should also mention the windshield moldings. These come off with a flathead. The bottom one is a PITA to put back on...just try not to scratch the paint.
Good luck and va con Dios.