示例#1
0
        public bool Run(DtoImagePrepOptions imagePrepOptions)
        {
            if (imagePrepOptions == null)
            {
                Logger.Info("Image Prep Cancelled.");
                return(false);
            }


            Logger.Info("Preparing Computer For Image: ");
            Logger.Info("Checking Toec Service");
            var servResult = new ServiceSystemService().StopToec();

            if (!servResult)
            {
                Logger.Info("Toec Service Must Be Stopped Before Preparing Image.");
                return(false);
            }

            _imagePrepOptions = imagePrepOptions;

            ResetToec();

            File.Create($"{Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)}\\Toec\\image_prepped");
            Logger.Info("Prepare Image Finished");
            return(true);
        }
示例#2
0
 public void Run()
 {
     if (!HasAdministrativeRight())
     {
         Console.WriteLine("Administrative Privileges Required To Prepare For Image");
     }
     else
     {
         Console.WriteLine("Toec Prepare Image Initiated");
         var imagePrepOptions = new DtoImagePrepOptions();
         imagePrepOptions.ResetToec = true;
         new ServicePrepareImage().Run(imagePrepOptions);
     }
 }
示例#3
0
文件: GUI.cs 项目: theopenem/Toec
        private void btnApply_Click(object sender, EventArgs e)
        {
            txtOutput.Text = "";
            var imagePrepOptions = new DtoImagePrepOptions();

            if (chkDisableHibernate.Checked)
            {
                imagePrepOptions.RunHibernate = true;
            }

            if (chkDriversReg.Checked)
            {
                imagePrepOptions.AddDriverRegistry = true;
            }

            if (chkEnableBackground.Checked)
            {
                imagePrepOptions.EnableFinalizingBackground = true;
            }

            if (chkCreateSetupComplete.Checked)
            {
                imagePrepOptions.CreateSetupComplete   = true;
                imagePrepOptions.SetupCompleteContents = txtSetupComplete.Text;
            }

            if (chkRunSysprep.Checked)
            {
                imagePrepOptions.RunSysprep        = true;
                imagePrepOptions.SysprepAnswerPath = txtSysprepAnswerFile.Text;
            }

            if (chkResetToec.Checked)
            {
                imagePrepOptions.ResetToec = true;
            }

            Run(imagePrepOptions);
        }
示例#4
0
文件: GUI.cs 项目: theopenem/Toec
        public bool Run(DtoImagePrepOptions imagePrepOptions)
        {
            if (imagePrepOptions == null)
            {
                AppendLogText("Image Prep Cancelled.");
                return(false);
            }

            if (imagePrepOptions.RunSysprep && string.IsNullOrEmpty(imagePrepOptions.SysprepAnswerPath))
            {
                AppendLogText("A Sysprep Answer File Was Not Defined.  Image Prep Cancelled");
                return(false);
            }

            AppendLogText("Preparing Computer For Image: ");
            AppendLogText("Checking Toec Service");
            var servResult = new ServiceSystemService().StopToec();

            if (!servResult)
            {
                AppendLogText("Toec Service Must Be Stopped Before Preparing Image.");
                return(false);
            }

            _imagePrepOptions = imagePrepOptions;

            DisableHibernation();
            AddDriverRegistry();
            EnableWinLogonBackground();
            CreateSetupComplete();
            ResetToec();
            RunSysprep();

            File.Create($"{Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)}\\Toec\\image_prepped");
            AppendLogText("Prepare Image Finished");
            return(true);
        }
示例#5
0
        private DtoImagePrepOptions GetImagePrepOptions()
        {
            var dir = AppDomain.CurrentDomain.BaseDirectory;
            var imagePrepOptions = new DtoImagePrepOptions();

            try
            {
                System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
                pProcess.StartInfo.FileName               = $"{dir}\\Toec-ImagePrep.exe";
                pProcess.StartInfo.UseShellExecute        = false;
                pProcess.StartInfo.RedirectStandardOutput = true;
                pProcess.StartInfo.WorkingDirectory       = dir;
                pProcess.Start();
                imagePrepOptions = JsonConvert.DeserializeObject <DtoImagePrepOptions>(pProcess.StandardOutput.ReadToEnd());
                pProcess.WaitForExit();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Could Not Start Image Prep Application.");
                Console.WriteLine(ex.Message);
            }

            return(imagePrepOptions);
        }