Let's say that I am building an application to a DEB package, which has as recommended dependency a package, let's call it package1.
So, package1, if installed, can provide extra functionality to my program, but not directly related to my program's basic functionality (that's why it is a recommended package)
So, the user doesn't choose initially to install the recommended package (in Ubuntu Software Center you can choose by ticking/unticking to install or not to install the recommended packages), but in the future, while using my application, it asks for the corresponding functionality.
What is the best way to tell him that an extra package has to be installed in order for this functionality to work? What program can I use so as to install this package directly from my program with a dialog indicating how the installation process is going?
I want to do this via the default way, and, preferably a way that is Linux Desktop Environment independent.
In short, I want a way to install a package from my program neither by opening Ubuntu Software Center (via an apt:// URL) nor by doing it at the background.
Ideally, it would be a dialog like the one that is used by the Update Manager (or, for the ones that remember, from the Synaptic Package Manager).
PS: I would prefer something that could be implemented using C++ !