Let say I have a Demo and Full versions of my software. Demo is like a Full but with some missing functionality. Someone installs Demo, try it and decides to purchase Full version.
He downloads it and starts installation.
My question is: Do you think it is reasonable full version installer to uninstall Demo version before installing the Full one? My reasoning is that if there are two versions on the user computer this can confuse him.
IMHO you should have one install. The full version gets installed in "DEMO" mode, meaning some full-version functionality is disabled or redirected to demo functionality. The switch from demo to full then is an unlocking and/or update exercise. This means the user only ever has one install. I would think this aligns with user expectations.
I would suggest having the code go through an upgrade so it is part of the same base. I would think easier to manage. How much is different from the Demo to the full version?
All of our retail poroducts automatically uninstall the trial version. You don't want to confuse the customer with two products installed at one time, and you don't want to make the new customer do an extra step (uninstall the demo) before the installer will work.
Keep your trial and full versions completely separate. That way there is no way to "crack" the trial version and turn it into a full version.
In my opinion the whole process has to be as transparent as possible to the end users.
Why don't you choose to switch from "demo"/"full" to "full" with an activation code need to unlock the app after the evaluation period has over?
I mean, you have your App and you give 14 days evaluation time. People download it and they found it great. After 14 days, the App stop working asking for the activation code. Enthusiast users will buy the code from your website and they can unlock the code without be bothered in "uninstall/download/install again" tasks.
Does it make sense?