What is the proper way to have a full version and demo version of an application?
<p>I would like users to be able to download a demo version of my application, which would have certain restrictions.  And then they may purchase the full application if desired.  I have found two ways of managing this and would like to know which way is the best practice:</p>

<ol>
<li><p>List a full version and a demo version.  The demo version is free, the full version is not.  This is easy and clean, but unfortunately the user must to uninstall the demo version and install the full version (and lose any application data/settings).</p></li>
<li><p>List a free application and a non-free "key application".  The full application is downloaded and installed for free, but will run in demo version unless the "key application" is installed.   This allows users to "upgrade" the demo version without losing any settings.  The main drawback that concerns me about this is the lack of clarity on the market place, I'm concerned users will be confused by the whole "free application, but pay for a key application" scenario.</p></li>
</ol>
