diff --git a/tool/ssinstall b/tool/ssinstall
index 35f6b24..123a31d 100755
--- a/tool/ssinstall
+++ b/tool/ssinstall
@@ -94,11 +94,7 @@ if [ $# -eq 0 ]; then
     exit
 fi
 
-if [ ! -f "$1" ]; then
-    echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST}"
-    echo "OMG-IT-GOES-WRONG"
-    exit 1
-fi
+
 
 if [ "$(id -u)" != "0" ]; then
     echo "${TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT}"
@@ -106,7 +102,25 @@ if [ "$(id -u)" != "0" ]; then
     exit 1
 fi
 
-DEBPATH=$(realpath "$1")
+if [ ! -f "$1" ]; then
+    echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST},Trying to redownload"
+    FILEPATH=$(dirname "$1")
+    FILENAME=$(basename "$1")
+    PACKAGE_NAME=$(echo "$FILENAME" | sed -r 's/^([^_]+)_.*$/\1/')
+    VERSION=$(echo "$FILENAME" | sed -r 's/^[^_]+_([^_]+)_.*$/\1/')
+    pushd ${FILEPATH}
+    aptss download ${PACKAGE_NAME}=${VERSION}
+    popd
+    if [ ! -f "$1" ]; then
+    	echo "OMG-IT-GOES-WRONG"
+    	exit 1
+    else
+    	DEBPATH=$(realpath "$1")
+    fi
+    else
+    DEBPATH=$(realpath "$1")
+fi
+
 
 hash_check "$DEBPATH"