Modeling Spring - topologically invalid

Im having trouble modeling a spring.
The spring has a bent hook on one end and a taper on the other.

I've attached the model below.

This technique is the second attempt.  The first attempt I used the "helix" curve feature with a variable pitch to create the helix, but I was unable to sweep the path as either a surface or solid.
I sometimes have better luck with the method seen in this file, using surfaces to create the helix, but I still cannot get a sweep to work here.

The solid sweep will not even show a preview.

The surface sweep shows a preview, but will not complete saying it results in surface that is "topologically invalid".


Any help is appreciated!

I'm open to different modeling methods as long as I can get the desired results.

SolidworksParts And Features