diff --git a/Windows/Tools/SoftCertPolicyAppender/Source/SoftCertPolicyAppender/Program.cs b/Windows/Tools/SoftCertPolicyAppender/Source/SoftCertPolicyAppender/Program.cs
index 5a61be9943a9f536fa6203793046bc883e3b82e2..9ff003749449ad0fbd58cf313e8fda59d646b1ad 100644
--- a/Windows/Tools/SoftCertPolicyAppender/Source/SoftCertPolicyAppender/Program.cs
+++ b/Windows/Tools/SoftCertPolicyAppender/Source/SoftCertPolicyAppender/Program.cs
@@ -1,4 +1,5 @@
 using System;
+using System.IO;
 using System.Linq;
 using System.Security.Cryptography.X509Certificates;
 
@@ -56,21 +57,44 @@ CertFiles:
                     Console.Write("{0}.", i + 1);
                     Console.ResetColor();
 
-                    switch (flag)
+                    var retry = false;
+                    do
                     {
-                        case 0:
-                            SoftwareRestrictionPolicyController.AddCertRule(cert);
-                            Console.Write("Add cert policy for ");
-                            break;
-                        case 1:
-                            SoftwareRestrictionPolicyController.RemoveCertRule(cert);
-                            Console.Write("Remove cert policy for ");
-                            break;
-                    }
+                        try
+                        {
+                            switch (flag)
+                            {
+                                case 0:
+                                    SoftwareRestrictionPolicyController.AddCertRule(cert);
+                                    Console.Write("Add cert policy for ");
+                                    break;
+                                case 1:
+                                    SoftwareRestrictionPolicyController.RemoveCertRule(cert);
+                                    Console.Write("Remove cert policy for ");
+                                    break;
+                            }
 
-                    Console.ForegroundColor = ConsoleColor.Yellow;
-                    Console.WriteLine("{0}({1})", cert.Subject, cert.Thumbprint);
-                    Console.ResetColor();
+                            Console.ForegroundColor = ConsoleColor.Yellow;
+                            Console.WriteLine("{0}({1})", cert.Subject, cert.Thumbprint);
+                            Console.ResetColor();
+                        }
+                        catch (FileLoadException ex)
+                        {
+                            Console.Write(ex.Message+" Please select retry ,ignore or abort?[R|i|a]:");
+                            var select=  (Console.ReadLine()??"").ToLower();
+                            switch (select)
+                            {
+                                case "i":
+                                    break;
+                                case "a":
+                                    return;
+                                default:
+                                    retry = true;
+                                    break;
+                            }
+                   
+                        }
+                    } while (retry);
                 }
                 catch (Exception e)
                 {