# HG changeset patch # User Andre Heinecke # Date 1403686503 -7200 # Node ID a9a57dc1eb2f83faf1d0c60ca36e72b1d329868c # Parent c7a35fa302ec64f2e52eac3e97694b4758769f9b Start installer process as sudo if possible. diff -r c7a35fa302ec -r a9a57dc1eb2f ui/installwrapper.cpp --- a/ui/installwrapper.cpp Tue Jun 24 18:10:10 2014 +0200 +++ b/ui/installwrapper.cpp Wed Jun 25 10:55:03 2014 +0200 @@ -150,20 +150,46 @@ } #else /* WIN32 */ QProcess installerProcess; - installerProcess.setProgram(cinstProcInfo.absoluteFilePath()); QStringList parameters; choicesFile.setAutoRemove(false); parameters << "list=" + mCertListFile << "choices=" + choicesFile.fileName(); - installerProcess.setArguments(parameters); - - qDebug() << "Starting process " << cinstFileName <<" params: " << parameters; - installerProcess.start(); - if (!installerProcess.waitForStarted() || - installerProcess.state() == QProcess::NotRunning) { - emit error (tr("Failed to start installer process.")); - return; + bool sudo_started = false; + bool use_sudo = is_admin(); + if (use_sudo) { + QStringList sudoPrograms; + sudoPrograms << "gksudo" << "kdesudo" << "sudo"; + QStringList sudoParams; + sudoParams <