I have made a "base" application that implements the base functionality of the requirements for it. However next step is to create an "extended" version that supports external data through a thrid party application that need to be installed for the user in order to use it. Since not all users hold the prerequisites for the extended version, I would like to have a "base" and a "extended" version installed along with each other so that all users can use the system regardless of their setups through the "base", but use the features of the "extended" version if the have the third party application.
The extended version will be an exact copy of the base version with some code added. So I'm currently considering how I can do this the best way. Note that I have nearly no experience with deployment of big solutions with several projects.
Ideally the extended version merely references the base version and implements the extra functionalty on top. In that way changes made to the base version will be applied to the extended version too.
Is there a good way to do this?