示例#1
0
        public async Task Execute()
        {
            var efiEspVolume = await phone.GetVolumeByPartitionName(PartitionName.EfiEsp);

            efiEspPath        = efiEspVolume.Root;
            destinationFolder = Path.Combine(efiEspVolume.Root, "Windows", "System32", "BOOT");
            bcdPath           = efiEspVolume.Root.CombineRelativeBcdPath();
            bcdInvoker        = bcdInvokerFactory.Create(bcdPath);

            var shouldInstall = !IsAlreadyInstalled();

            if (shouldInstall)
            {
                await CopyDevMenuFiles();
            }

            ConfigureBcd();

            if (shouldInstall)
            {
                await prompt.PickOptions(Resources.DeveloperMenuInstalled, new List <Option>()
                {
                    new Option("Continue", DialogValue.OK),
                });
            }
        }
示例#2
0
        public static async Task SafeCreate(this IBcdInvoker invoker, Guid guid, string args)
        {
            var output = await invoker.Invoke($"/enum {{{guid}}}");

            var alreadyExists = output.Contains("{") && output.Contains("}");

            if (alreadyExists)
            {
                return;
            }

            await invoker.Invoke($"/create {{{guid}}} {args}");
        }
 public BcdConfigurator(IBcdInvoker invoker, Volume mainOsVolume)
 {
     this.invoker      = invoker;
     this.mainOsVolume = mainOsVolume;
 }
示例#4
0
 public BcdConfigurator(IBcdInvoker invoker, Volume efiespVolume)
 {
     this.invoker      = invoker;
     this.efiespVolume = efiespVolume;
 }
示例#5
0
 public async Task <IBcdInvoker> GetBcdInvoker()
 {
     return(bcdInvoker ?? (bcdInvoker = bcdInvokerFactory.Create((await GetEfiespVolume()).GetBcdFullFilename())));
 }
示例#6
0
 public BcdConfigurator(IBcdInvoker invoker, IPartition efiEsp)
 {
     this.invoker = invoker;
     this.efiEsp  = efiEsp;
 }