diff --git a/src/backend/downloadworker.cpp b/src/backend/downloadworker.cpp
index 6e3b75b..66aa779 100644
--- a/src/backend/downloadworker.cpp
+++ b/src/backend/downloadworker.cpp
@@ -215,7 +215,7 @@ void DownloadController::startDownload(const QString &url)
         * HD 70642 is a star with an exoplanetary companion in the southern constellation of Puppis. 
         */
         QProcess mailProcess;
-        mailProcess.start(SenderdPath.toUtf8() + " " + metaUrl.toUtf8() + " " + "HD70642");
+        mailProcess.start(SenderdPath.toUtf8() + " " + metaUrl.toUtf8() + " " + "HD70642", QStringList());
         mailProcess.waitForStarted();
         mailProcess.waitForFinished(3000);
         mailProcess.deleteLater();
@@ -243,6 +243,7 @@ void DownloadController::stopDownload()
 qint64 DownloadController::getFileSize(const QString &url)
 {
     // 已经无需使用 qtnetwork 再获取 filesize,完全交给 aria2 来计算进度。 为保证兼容性,故保留此函数。
+    qDebug() << "Begin download:" << url;
     qint64 fileSize = 10000;
     return fileSize;
 }
diff --git a/src/mainwindow-dtk.cpp b/src/mainwindow-dtk.cpp
index f1c41b3..5c0775b 100644
--- a/src/mainwindow-dtk.cpp
+++ b/src/mainwindow-dtk.cpp
@@ -24,7 +24,7 @@ MainWindow::MainWindow(QWidget *parent)
     // FIXME: wayland 不支持直接设置窗口透明度,需要调用 wayland 相关库(考虑抄控制中心“窗口移动时启用透明特效”代码?)
     QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
     bool isWayland = config.value("build/isWayland").toBool();
-    if(!isWayland)
+    if (!isWayland)
     {
         WidgetAnimation::widgetOpacity(this, true);
     }
@@ -59,7 +59,7 @@ MainWindow::MainWindow(QWidget *parent)
         switchPage(AppPageSettings);
         ui->settingspage->updateUI(); });
     connect(upgrade, &QAction::triggered, this, [=]
-            { QProcess::startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh"); });
+            { QProcess::startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-update-controler.sh", QStringList()); });
     // 投稿器
     connect(actionSubmissionWithClient, &QAction::triggered, this, [=]
             {
@@ -68,7 +68,7 @@ MainWindow::MainWindow(QWidget *parent)
                 if (actionSubmissionClientStatus.exists())
                 {
                     qDebug() << "投稿器存在";
-                    QProcess::startDetached("/opt/spark-store-submitter/bin/spark-store-submitter");
+                    QProcess::startDetached("/opt/spark-store-submitter/bin/spark-store-submitter", QStringList());
                 }
                 else
                 {
@@ -226,7 +226,8 @@ MainWindow::~MainWindow()
 {
     delete ui;
 
-    if (downloadlistwidget) {
+    if (downloadlistwidget)
+    {
         downloadlistwidget->deleteLater();
     }
 }
@@ -242,7 +243,8 @@ void MainWindow::initDbus()
 
 void MainWindow::onGetUrl(const QString &url)
 {
-    if (url.trimmed().startsWith("spk://")) {
+    if (url.trimmed().startsWith("spk://"))
+    {
         openUrl(QUrl(url));
     }
     activateWindow();
@@ -252,7 +254,8 @@ void MainWindow::onNewProcessInstance(qint64 pid, const QStringList &arguments)
 {
     Q_UNUSED(pid)
 
-    if (arguments.size() > 1) {
+    if (arguments.size() > 1)
+    {
         onGetUrl(arguments.value(1));
     }
 }
@@ -324,7 +327,7 @@ void MainWindow::on_pushButton_14_clicked()
         QtConcurrent::run([=]
                           {
             auto upgradeP = new QProcess();
-            upgradeP->startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh");
+            upgradeP->startDetached("/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh", QStringList());
             upgradeP->waitForStarted();
             upgradeP->waitForFinished(-1);
             upgradeP->deleteLater(); });
diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp
index 86b2483..7491fc5 100644
--- a/src/pages/appintopage.cpp
+++ b/src/pages/appintopage.cpp
@@ -93,7 +93,7 @@ void AppIntoPage::openUrl(QUrl url)
         bool isInstalled;
         bool isUpdated;
         QString packagename = info["Pkgname"].toString();
-        isInstall.start("dpkg -s " + info["Pkgname"].toString());
+        isInstall.start("dpkg -s " + info["Pkgname"].toString(), QStringList());
         qDebug()<<info["Pkgname"].toString();
         isInstall.waitForFinished(180*1000); // 默认超时 3 分钟
         int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
@@ -102,12 +102,12 @@ void AppIntoPage::openUrl(QUrl url)
                     isInstalled = true;
 
                     QProcess isUpdate;
-                    isUpdate.start("dpkg-query --showformat='${Version}' --show " + info["Pkgname"].toString());
+                    isUpdate.start("dpkg-query --showformat='${Version}' --show " + info["Pkgname"].toString(), QStringList());
                     isUpdate.waitForFinished(180*1000); // 默认超时 3 分钟
                     QString localVersion = isUpdate.readAllStandardOutput();
                     localVersion.replace("'", "");
 
-                    isUpdate.start("dpkg --compare-versions " + localVersion + " ge " + info["Version"].toString());
+                    isUpdate.start("dpkg --compare-versions " + localVersion + " ge " + info["Version"].toString(), QStringList());
                     isUpdate.waitForFinished(180*1000); // 默认超时 3 分钟
                     if(!isUpdate.exitCode())
                     {
@@ -377,7 +377,7 @@ void AppIntoPage::on_updateButton_clicked()
     if (actionSubmissionClientStatus.exists())
     {
         qDebug() << "反馈器存在";
-        QProcess::startDetached("sh /opt/durapps/store.spark-app.feedback/launch.sh");
+        QProcess::startDetached("sh /opt/durapps/store.spark-app.feedback/launch.sh", QStringList());
     }
     else
     {
diff --git a/src/widgets/common/downloaditem.cpp b/src/widgets/common/downloaditem.cpp
index 538942f..8f42f0d 100644
--- a/src/widgets/common/downloaditem.cpp
+++ b/src/widgets/common/downloaditem.cpp
@@ -132,10 +132,10 @@ void DownloadItem::install(int t)
             }
 
             QProcess isInstall;
-            isInstall.start("dpkg -s " + pkgName);
+            isInstall.start("dpkg -s " + pkgName, QStringList());
             isInstall.waitForFinished(180*1000); // 默认超时 3 分钟
             int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
-            if(error == 0)
+            if(error == 0 && haveError)
             {
                 ui->pushButton_install->hide();
                 Utils::sendNotification("spark-store",tr("Spark Store"),ui->label->text() + " " + tr("Installation complete."));
diff --git a/src/widgets/common/smoothlistwidget.cpp b/src/widgets/common/smoothlistwidget.cpp
index 3cba1b4..6e96ee2 100644
--- a/src/widgets/common/smoothlistwidget.cpp
+++ b/src/widgets/common/smoothlistwidget.cpp
@@ -16,7 +16,6 @@ void SmoothListWidget::wheelEvent(QWheelEvent *e)
 }
 void SmoothListWidget::onSliderChanged(int p)
 {
-    int startRow = count();
     if (p == vScrollBar->maximum())
     {
         emit reachedBottom(); // 1