diff options
Diffstat (limited to 'src/sdk/commandlineinterface.cpp')
-rw-r--r-- | src/sdk/commandlineinterface.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/sdk/commandlineinterface.cpp b/src/sdk/commandlineinterface.cpp index de9332b35..f64f41834 100644 --- a/src/sdk/commandlineinterface.cpp +++ b/src/sdk/commandlineinterface.cpp @@ -193,6 +193,23 @@ int CommandLineInterface::uninstallPackages() } } +int CommandLineInterface::removeInstallation() +{ + if (!initialize()) + return EXIT_FAILURE; + if (m_core->isInstaller()) { + qCWarning(QInstaller::lcInstallerInstallLog) << "Cannot uninstall packages with installer."; + return EXIT_FAILURE; + } + m_core->setUninstaller(); + try { + return m_core->removeInstallationSilently() ? EXIT_SUCCESS : EXIT_FAILURE; + } catch (const QInstaller::Error &err) { + qCCritical(QInstaller::lcInstallerInstallLog) << err.message(); + return EXIT_FAILURE; + } +} + bool CommandLineInterface::checkLicense() { const ProductKeyCheck *const productKeyCheck = ProductKeyCheck::instance(); |