committed by
GitHub
parent
8b7ff6a042
commit
746ffda444
@@ -112,6 +112,7 @@ pub enum Step {
|
|||||||
Vagrant,
|
Vagrant,
|
||||||
Vcpkg,
|
Vcpkg,
|
||||||
Vim,
|
Vim,
|
||||||
|
WindowsAppStore,
|
||||||
Wsl,
|
Wsl,
|
||||||
Yadm,
|
Yadm,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,6 +144,9 @@ fn run() -> Result<()> {
|
|||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
{
|
{
|
||||||
|
runner.execute(Step::WindowsAppStore, "Windows App Store", || {
|
||||||
|
windows::upgrade_store_apps(&ctx)
|
||||||
|
})?;
|
||||||
runner.execute(Step::Chocolatey, "Chocolatey", || windows::run_chocolatey(&ctx))?;
|
runner.execute(Step::Chocolatey, "Chocolatey", || windows::run_chocolatey(&ctx))?;
|
||||||
runner.execute(Step::Scoop, "Scoop", || windows::run_scoop(config.cleanup(), run_type))?;
|
runner.execute(Step::Scoop, "Scoop", || windows::run_scoop(config.cleanup(), run_type))?;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
use crate::execution_context::ExecutionContext;
|
|
||||||
use crate::executor::{CommandExt, RunType};
|
use crate::executor::{CommandExt, RunType};
|
||||||
use crate::powershell;
|
use crate::powershell;
|
||||||
use crate::terminal::print_separator;
|
use crate::terminal::print_separator;
|
||||||
use crate::utils::require;
|
use crate::utils::require;
|
||||||
use crate::{error::SkipStep, steps::git::Repositories};
|
use crate::{error::SkipStep, steps::git::Repositories};
|
||||||
|
use crate::{execution_context::ExecutionContext, utils::require_option};
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
@@ -85,6 +85,17 @@ pub fn windows_update(ctx: &ExecutionContext) -> Result<()> {
|
|||||||
ctx.run_type().execute(&usoclient).arg("StartInstall").check_run()
|
ctx.run_type().execute(&usoclient).arg("StartInstall").check_run()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn upgrade_store_apps(ctx: &ExecutionContext) -> Result<()> {
|
||||||
|
let powershell = powershell::Powershell::windows_powershell();
|
||||||
|
|
||||||
|
let path = powershell.path().as_ref().unwrap();
|
||||||
|
let sudo = require_option(ctx.sudo().as_ref(), String::from("Sudo is required"))?;
|
||||||
|
print_separator("Windows Store");
|
||||||
|
println!("Updating Windows Store applications in the background");
|
||||||
|
|
||||||
|
ctx.run_type().execute(sudo).arg(path).args(&["-NoProfile", "-Command", "(Get-WmiObject -Namespace 'root\\cimv2\\mdm\\dmmap' -Class 'MDM_EnterpriseModernAppManagement_AppManagement01').UpdateScanMethod() | Out-Null"]).check_run()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn reboot() {
|
pub fn reboot() {
|
||||||
Command::new("shutdown").args(&["/R", "/T", "0"]).spawn().ok();
|
Command::new("shutdown").args(&["/R", "/T", "0"]).spawn().ok();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,11 @@ impl Powershell {
|
|||||||
Powershell { path, profile }
|
Powershell { path, profile }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(windows)]
|
||||||
|
pub fn path(&self) -> &Option<PathBuf> {
|
||||||
|
&self.path
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
pub fn windows_powershell() -> Self {
|
pub fn windows_powershell() -> Self {
|
||||||
Powershell {
|
Powershell {
|
||||||
|
|||||||
Reference in New Issue
Block a user