This approach worked for me. I worked on a free Windows program for about 8 months or so and it because fairly popular. At one point I decided to charge for it. I released a new version that provided basic free features and additional features for an upgrade. My first month was only $400 in sales but the second was $1800. The large use base I had was great at word of mouth and I made those sales with no advertising costs at all.