From 24e2c2d9c7d78c00c3c0743acd0ca92c44ff209f Mon Sep 17 00:00:00 2001 From: kh1 Date: Thu, 25 Oct 2012 12:41:33 +0200 Subject: If an operation fails try again with admin rights. Some operations, e.g. writing shortcuts, might fail cause per se they dont need admin rights. On windows we could install for all users requiring the operation than to write to an system folder with admin rights. Take that into account. Change-Id: I4b265dbc83e75378bc35a7ac5aa617d64af3e5c1 Reviewed-by: Tim Jenssen --- src/libs/installer/packagemanagercore_p.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index a805c439e..994c5bbeb 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -1756,6 +1756,11 @@ void PackageManagerCorePrivate::installComponent(Component *component, double pr bool ignoreError = false; bool ok = performOperationThreaded(operation); + if (!ok) { + becameAdmin = m_core->gainAdminRights(); + qDebug() << operation->name() << "as admin:" << becameAdmin; + ok = performOperationThreaded(operation); + } while (!ok && !ignoreError && m_core->status() != PackageManagerCore::Canceled) { qDebug() << QString::fromLatin1("Operation '%1' with arguments: '%2' failed: %3") .arg(operation->name(), operation->arguments().join(QLatin1String("; ")), -- cgit v1.2.3