diff options
author | Takayuki ORITO <iori.ayane@gmail.com> | 2018-03-12 21:37:51 +0900 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2018-03-14 06:05:53 +0000 |
commit | b4d77f8ccb483784468c4ec2fce8a2c4c51b1d7d (patch) | |
tree | 386ab533587f66ab7194fe6b41548a77133a379e | |
parent | 35af20a8ed477f53e3a82b3d32d9cf44e5b0dc34 (diff) |
Fix the maintenancetool that failing to elevate to admin
It fails to output logs in ~PackageManagerCore() when using '--checkupdates'.
It is installed in 'C:\Program Files (x86)'(needs admin rights).
Disable the admin query.
Because it does not need the query for checking the updates.
Change-Id: I8cbd5823287a23d52c2f1a7f1fae95979314e441
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index 07afb4c7b..c905caaf1 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -846,12 +846,13 @@ PackageManagerCore::PackageManagerCore(qint64 magicmaker, const QList<OperationB // Creates and initializes a remote client, makes us get admin rights for QFile, QSettings // and QProcess operations. Init needs to called to set the server side authorization key. - RemoteClient::instance().init(socketName, key, mode, Protocol::StartAs::SuperUser); + if (!d->isUpdater()) { + RemoteClient::instance().init(socketName, key, mode, Protocol::StartAs::SuperUser); + RemoteClient::instance().setAuthorizationFallbackDisabled(settings().disableAuthorizationFallback()); + } d->initialize(QHash<QString, QString>()); - RemoteClient::instance().setAuthorizationFallbackDisabled(settings().disableAuthorizationFallback()); - // // Sanity check to detect a broken installations with missing operations. // Every installed package should have at least one MinimalProgress operation. |