Handling (charging for) major version upgrades

Hey,

(This question mixes wybuild and limelm, but I figured it would apply here as well)

I love your product. It does absolutely everything I want and I'm planning on sticking with it for all my projects. I just have one question though.

Currently my software released at version 1.0. I want users to get free upgrades from 1.0 to 1.9, but I want them to have to pay for major revisions to the software such as the jump from 1.9 to 2.0. I'm planning this out now because 2.0 will have plenty of new features. I use WyBuild for my upgrading.

What exactly do I need to do to get the two to coordinate? I understand with the 2.0 release I would create a new product in limeLM and copy the .dat and GUID into the project. That guarantees that it won't work with any serials but the 2.0 serials. Then to deal with upgrades, do I just create a new FTP location for upgrading from 2.0 to 2.9? Using this method I would need new WyBuild projects for each major release. Is this optimal? I don't think having to uninstall/reinstall my product (going from 1.9 to 2.0) would be that big of a burden. Especially since they will need to put in a new serial number anyway.

Please feel free to move this if you feel it's more relevant to the WyBuild forum. I'm just confused on how everything works together. I'll probably end up fleshing out this code on the journey from 1.0 to 1.9, and using WyUpdate to push it out the users.

What exactly do I need to do to get the two to coordinate? I understand with the 2.0 release I would create a new product in limeLM and copy the .dat and GUID into the project. That guarantees that it won't work with any serials but the 2.0 serials.

Correct.

Then to deal with upgrades, do I just create a new FTP location for upgrading from 2.0 to 2.9? Using this method I would need new WyBuild projects for each major release. Is this optimal? I don't think having to uninstall/reinstall my product (going from 1.9 to 2.0) would be that big of a burden. Especially since they will need to put in a new serial number anyway.

Well, there are a few ways to do this. The easiest thing would by to release one last "1.x" release that offer a way to switch the "server" site where the 2.x updates will be stored.

Does that make sense? So a user could click "upgrade to 2.x", they enter a serial, they download the update, and they're running 2.x.