Пример #1
0
        private void ListToInstall()
        {
            var appList      = DownloadParameters.AppList;
            var list         = new List <string>();
            var installQueue = new List <Func <Task> >();
            var bits         = DetectWindows.Bits();

            #region InstallIIS

            list.Add("IIS - Serviços de Informações da Internet");
            installQueue.Add(() => Install.IIS(InstallationPath, Port));

            #endregion InstallIIS

            #region VCRedist

            if (RequirementsCheck.VcRedistX86())
            {
                list.Add(appList.VcRedistX86.Name);
                installQueue.Add(() => Download.VcRedistAsync("x86", ProgressChanged));
            }

            if (bits == "x64")
            {
                if (RequirementsCheck.VcRedistX64())
                {
                    list.Add(appList.VcRedistX64.Name);
                    installQueue.Add(() => Download.VcRedistAsync("x64", ProgressChanged));
                }
            }

            #endregion

            #region NetCore

            if (RequirementsCheck.NetCore())
            {
                list.Add(appList.NetCore.Name);
                installQueue.Add(() => Download.NetCoreAsync(ProgressChanged));
            }

            #endregion NetCore

            #region SQLServer

            if (InstallSQLServer)
            {
                list.Add(appList.SQLServer.Name);
                installQueue.Add(() => Download.SQLServerAsync(ProgressChanged));
            }

            #endregion

            #region SQLServerStudio

            if (InstallSQLServerStudio)
            {
                list.Add(appList.SQLServerStudio.Name);
                installQueue.Add(() => Download.SQLServerStudioAsync(ProgressChanged));
            }

            #endregion

            #region Database

            if (InstallDatabase)
            {
                list.Add(appList.Database.Name);
                installQueue.Add(() => Download.DatabaseAsync(ProgressChanged));
            }

            #endregion Database

            #region LinqPad

            if (InstallLinqPad)
            {
                list.Add(appList.LinqPad.Name);
                installQueue.Add(() => Download.LinqPadAsync(ProgressChanged));
            }

            #endregion LinqPad

            #region ProlexNet

            list.Add(appList.ProlexNet.Name);
            installQueue.Add(() => Download.ProlexNetAsync(ProgressChanged, Port));

            #endregion ProlexNet

            InstallList  = list;
            InstallQueue = installQueue;
        }