diff --git a/tool/spark-dstore-patch b/tool/spark-dstore-patch
index c955fcd..e0292ab 100755
--- a/tool/spark-dstore-patch
+++ b/tool/spark-dstore-patch
@@ -7,7 +7,7 @@
 enumAppInfoList() {
     appInfoList=()
     apps="/opt/apps"
-    list=$(ls $apps)
+    list=$(ls $apps 2>/dev/null)
     for appID in $list; do
         appInfoList+=("$appID")
     done
@@ -78,7 +78,7 @@ if [ ! -d "/usr/share/icons/hicolor/scalable/apps" ];then
 mkdir -p /usr/share/icons/hicolor/scalable/apps
 fi
 
-for icon_root_icon_path in $(ls /usr/share/icons/*.png /usr/share/icons/*.svg)
+for icon_root_icon_path in $(ls /usr/share/icons/*.png /usr/share/icons/*.svg 2>/dev/null)
 do
 target_icon_path=/usr/share/icons/hicolor/scalable/apps/$(basename ${icon_root_icon_path})
 if [  ! -e ${target_icon_path} ];then
@@ -90,19 +90,23 @@ done
 function exec_link_clean(){
 # remove broken links in /usr/share
 
-    find /usr/share/applications -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/icons -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/mime/packages -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/glib-2.0 -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/dbus-1/services -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/help -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/locale -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/lib/mozilla/plugins -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/polkit-1/actions -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /usr/share/fonts -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
-    find /etc/fonts/conf.d -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; &
+    find /usr/share/applications -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/icons -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/mime/packages -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/glib-2.0 -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/dbus-1/services -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/help -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/locale -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/fcitx -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/lib/mozilla/plugins -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/polkit-1/actions -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /usr/share/fonts -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+    find /etc/fonts/conf.d -xtype l -exec echo '{} is invalid now and going to be cleaned' \; -exec unlink  {} \; 2>/dev/null &
+
+
+}
+function exec_uos_package_update(){
     update-icon-caches /usr/share/icons/* > /dev/null 2>&1 &
     update-desktop-database -q > /dev/null 2>&1 &
     update-mime-database -V /usr/share/mime > /dev/null 2>&1 &
@@ -110,13 +114,15 @@ function exec_link_clean(){
 
 }
 
-
 #########################################################################################
 echo "----------------Running Spark DStore Patch----------------"
 if [ ! -e /usr/bin/deepin-app-store-tool ];then
 # execute linkApp function for each app and print output
 exec_uos_package_link
+
 fi
 exec_v23_icon_link
 exec_link_clean
+wait
+exec_uos_package_update
 echo "----------------Finished----------------"