Exemple #1
0
        public static int Main(string [] args)
        {
            ProcessProgressStatus monitor = new ProcessProgressStatus(int.Parse(args [0]));

            try {
                string registryPath = Console.In.ReadLine();
                string startupDir   = Console.In.ReadLine();
                string addinsDir    = Console.In.ReadLine();
                string databaseDir  = Console.In.ReadLine();

                AddinDatabase.RunningSetupProcess = true;
                AddinRegistry reg = new AddinRegistry(registryPath, startupDir, addinsDir, databaseDir);

                switch (args [1])
                {
                case "scan": {
                    string folder = args.Length > 2 ? args [2] : null;
                    if (folder.Length == 0)
                    {
                        folder = null;
                    }

                    var context = new ScanOptions();
                    context.Read(Console.In);
                    reg.ScanFolders(monitor, folder, context);
                    break;
                }

                case "pre-scan": {
                    string folder = args.Length > 2 ? args [2] : null;
                    if (folder.Length == 0)
                    {
                        folder = null;
                    }
                    var recursive = bool.Parse(Console.In.ReadLine());
                    reg.GenerateScanDataFilesInProcess(monitor, folder, recursive);
                    break;
                }

                case "get-desc":
                    var outFile = Console.In.ReadLine();
                    reg.ParseAddin(monitor, args [2], args [3]);
                    break;
                }
            } catch (Exception ex) {
                monitor.ReportError("Unexpected error in setup process", ex);
                return(1);
            }
            return(0);
        }
Exemple #2
0
        public void Scan(IProgressStatus monitor, AddinRegistry registry, string scanFolder, ScanOptions context)
        {
            RemoteProgressStatus remMonitor = new RemoteProgressStatus(monitor);

            try {
                RemoteSetupDomain rsd = GetDomain();
                rsd.Scan(remMonitor, registry.RegistryPath, registry.StartupDirectory, registry.DefaultAddinsFolder, registry.AddinCachePath, scanFolder, context);
            } catch (Exception ex) {
                throw new ProcessFailedException(remMonitor.ProgessLog, ex);
            } finally {
                System.Runtime.Remoting.RemotingServices.Disconnect(remMonitor);
                ReleaseDomain();
            }
        }
Exemple #3
0
        public void Scan(IProgressStatus monitor, string registryPath, string startupDir, string addinsDir, string databaseDir, string scanFolder, ScanOptions context)
        {
            AddinDatabase.RunningSetupProcess = true;
            AddinRegistry reg = new AddinRegistry(registryPath, startupDir, addinsDir, databaseDir);

            if (context.FileSystemExtension != null)
            {
                reg.RegisterExtension(context.FileSystemExtension);
            }
            reg.ScanFolders(monitor, scanFolder, context);
        }
Exemple #4
0
        public void Scan(IProgressStatus monitor, AddinRegistry registry, string scanFolder, ScanOptions context)
        {
            AddinRegistry reg = new AddinRegistry(registry.RegistryPath, registry.StartupDirectory, registry.DefaultAddinsFolder, registry.AddinCachePath);

            reg.CopyExtensionsFrom(registry);
            reg.ScanFolders(monitor, scanFolder, context);
        }
Exemple #5
0
        public void Scan(IProgressStatus monitor, AddinRegistry registry, string scanFolder, ScanOptions context)
        {
            var data = new List <string> (context.Write());

            ExecuteCommand(monitor, registry.RegistryPath, registry.StartupDirectory, registry.DefaultAddinsFolder, registry.AddinCachePath, "scan", scanFolder, data);
        }