Application protected with demo mode can be installed on any machine.
End user can install application on different compute and get new evaluation.
End user can format HD and gain new evaluation on same computer.
If demo mode is enabled, encryption keys must be stored in protected application so that it can be decrypted during evaluation period and before activation. If demo mode is disabled, encryption keys are not stored in encrypted application.
Best protection scenario: Keep demo and full featured version separated.
Demo version should lack some features and can be available for anyone to try. Please note that you should not just turn off some features, you should compile limited demo version without code related to these features.
Demo version should be protected with plain protection method +- demo mode so that it expires after some time or number of runs.
Full version should be protected with remote protection method without demo mode and should be distributed to licensed users only