Stopping the rust
The first thing to do is to remove the windshield and see what kind of damage you are dealing with. Rust and small holes can be dealt with rather easily where as major structural damage will require the addition of materials and will not be covered in this guide. Once the windshield is out, use a sharpened putty knife to easily scrape off any epoxy that is still attached to the car. A thin film of epoxy still bound to the car is ok if there is absolutely no rust under it. If there is rust around or under the epoxy it must be completely removed.
In order to keep most of the dirt and debris out of the car, fill the windshield opening with some card board. This is specially true if a media blaster will be used to remove the rust. Tape up any vents or openings in the dash so that the abrasive will not get down inside the dash. Unfortunately, the only piece of cardboard I had that was big enough I had previously used for target practice so it had some holes in it. Now, yes I realize the cardboard covers the bottom of the windshield opening. Once the top and sides are done, slide the cardboard up and finish the bottom. This way you can minimize debris getting into the car.
Once everything is sealed you can begin to remove the rust. If there are any plastic clips used to hold the windshield trim, remove and save them, you may need them later. To start I used an angle grinder with a very coarse twisted wire wheel to remove 99% of the rust and weak metal. After this I went ahead and used a media blaster to get every last little bit of rust that I could remove. A media blaster may not be necessary but is very useful to get into hard to reach areas.
After all the rust has been removed, spray the metal with some rust converter/sealer. This will help stop any rust which may have been missed or is unable to be reached. Use several coats and make sure you spray every area. Make sure this is done before filling any holes in the metal. This will create a good rust proof sealed surface for filler to adhere to. Make sure to tape off the surrounding areas if you do not plan on repaining the car.
Filling any holes
After the car sat over night it was time to get started on filling the holes. Even the tinest of pin holes will make the windshield leak and the sill rust. Before using any body filler make sure the surface is prepped well. Sand off any loose or thick paint. Body filler adheres the best to bare metal so sand off as much of the rust converter as you can. I used a 'cookie' and a grinder. This may seem like an odd thing to do but the converter has already done its job, converting any rust and sealing any unreachable areas. As you can see in the images below, the spots that were once rust have turned into a black paint able surface. Do not worry if its not smooth. The epoxy that is used to install the windshield does not need a completely smooth surface to adhere to.
I am going to fill these holes with body filler, however if they were any bigger I would opt to weld them or use fiber glass filler. If you choose to weld them shut, MAKE SURE you can get to the back side of them to paint the weld. If not it will simply rust through again from the back. Also make sure there is nothing flamable around or on the other side of the area to be welded. Welding on an assembeled car body can be very dangerous, fires can start without warning and can be very hard to extiguish.
After the area to be filled has been sanded and cleaned, mix up a small batch of filler. You will only have 5 to 10 minutes to work with the filler before it hardens so do small batches at a time. I tend to mix my filler a little light on the hardner side of things to give me more working time. Filler with longer working times can be purchased as well. Spread an even coat of filler over the entire area making sure to force it through and into the holes. Several coats make be needed to even the area out, sanding between coats.
Once the filler has cured you can start to sand it smooth. You will actually want to remove as much filler as possible. Sand until you start to see the high spots of bare metal come though, this means the filler is filling the low spots and holes. Remember, this does not have to be perfect as its going to be covered with the windshield and trim, but try to make it as uniform as possible. As a rule I usually like to do two coats of filler. Spray the area again and then follow up with some glazing compound as shown.
With the area filled and sanded its time for the base coat of primer. I used Zinc rich primer just to add a bit more corrosion resistance to the metal exposed after sanding. Once primed, an extremely thin coat of glazing compound is added to any low areas that show up after painting. I can not stress enough how thin these coats of filler and glaze are. Even after several coats, sanding between each, there should be no more then 1/32" of filler in any area. (excluding holes) Remember, the windshield adheres to this surface which means the bond is only as strong as the weakest link in the chain, in this case the paint or filler.
Once the surface is smooth and fully primed I followed up with a coat of laquear based paint. This provides a good sealer to keep moisture away and protect the surface. In most cases the final coat should match the rest of the car, but since white is what I had on hand, I used it. Once the windshield is installed I will feather in the rest of the repair and paint it to match. Any white will be covered by the windshield and trim molding.