Esempio n. 1
0
        internal static CabinetExtractorLoader GetInstance()
        {
            if (System.Threading.Interlocked.CompareExchange(ref s_created, 1, 0) == 0)
            {
                s_instance          = new CabinetExtractorLoader();
                s_extractorInstance = new CabinetExtractor();
            }

            return(s_instance);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting innovative code");

            string outputDir = @"D:\Decomp";

            List <string> failedFiles = new List <string>();

            //foreach (var input in Directory.EnumerateFiles(@"D:\Backup\win-x64\10.0.21382.1.co_release.210511-1416_arm64fre_e5c131864586\FeaturesOnDemand\neutral\cabs", "*.cab"))
            {
                string input  = @"D:\Backup\win-x64\10.0.21382.1.co_release.210511-1416_arm64fre_e5c131864586\_desktopdeployment.cab";
                bool   PASS   = true;
                string name   = Path.GetFileName(input);
                string output = Path.Combine(outputDir, name);

                try
                {
                    CabinetExtractor.ExtractCabinet(input, output);
                }
                catch (Exception ex)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(ex.ToString());
                    Console.ForegroundColor = ConsoleColor.White;
                    PASS = false;
                }

                if (!PASS)
                {
                    failedFiles.Add(name);
                }

                //break;
            }

            Console.WriteLine("\nFAILEDFILES\n");
            foreach (var failedFile in failedFiles)
            {
                Console.WriteLine(failedFile);
            }

            Console.WriteLine("Ending innovative code");
        }