So, a framework to sell software? I don't think such a thing exists, and although there are SEO and social media spamming tools, I doubt those are what you want. If those are what you want, start searching. You will find them, and you will do nothing more than sell a few copies of your software and piss off countless people that are potential customers.

I'll assume your software solves a need for a set of people. I'll also assume that your software is well done, and people would be willing to pay for it, they just need to know about it. The basic idea behind internet marketing is that you need to find where this set of people hangs out online (spends their time), and then approach them. So let's say, for example, that the software you're attempting to sell helps solve a problem related to knitting. Your broadest target audience is knitters. Realistically, you are targeting people who knit, use the internet, and want to use their computer to make knitting better/easier/more social, etc. From this idea, you can begin finding where the knitters are, and how you are going to get to them. Are there popular knitting blogs? Is there a TechCrunch of the knitting world? Are all the knitters on a social networking site? Forums? Popular knitter Twitterers? If you made the software to scratch an itch, you'll likely know where these people are, because you're there, too.

Now, assuming you have an idea about where they are, how can you approach them? Post in the forum? Tag them in your tweets? Announce on IRC? Friend them on FB? Here is where a little digital savvy becomes very important and where I see many traditional marketers fail. Just like you would expect a socially awkward salesman to have a difficult time selling face to face, many 'internet awkward' people have a difficult time selling online. The important thing is to approach this community of potential customers in a way that is appropriate for that particular community. Because you do not mention where your product is aimed, I cannot give ideas about where you should go, or how to approach them.

Let's talk about a real example. There is a hacker who frequents here named pkrumins who runs a start up called browserling. Browserling appeals to web developers who need to test across different browsers. Whether he meant to or not, he has been doing very effective marketing by open sourcing code. This is so effective because he's contributing back to the community he's selling to. The same web developers who can use his open source contributions, can be his customers. This boost's his credibility with the people he's trying to sell to. A good door-to-door salesman dresses nice, keeps his hair neat, and is respectful and happy with the people he approaches. This works for him because the customer needs to see that he (and therefore his product) is respectable. Online, things are different. It doesn't matter what you're wearing, where you're sitting, or what you say about your past. This is because internet goers take everything with a grain of salt and realize that nothing we see online is guaranteed to be good as it seems (anyone who's tried online dating knows this especially well). Therefore, online, we need other signals of competence and helpfulness. Pkrumins pushed out good, competent code, which we can see and prove for ourselves. From that example, we can assume that the products he makes are similarly well done and as useful as he claims. Had he instead decided Adwords, a twitter account and some targeted FB ads would be the end of his marketing (which maybe he has, I don't know), none of those are likely to put him in such good graces as his open source contributions. By approaching good devs in a way that makes sense to them, he will succeed.

In the end, the main problem you need to figure out are the basics of marketing-who are you selling to and how are you going to approach them. A software framework for doing so isn't there because no two online groups work the same.

TL;DR You need to be one in mind with your customer so that you know how to approach them from a position of credibility and competence.