diff --git a/src/main.rs b/src/main.rs index 44568b43..fc118b50 100644 --- a/src/main.rs +++ b/src/main.rs @@ -363,6 +363,7 @@ fn run() -> Result<()> { #[cfg(target_os = "macos")] { if config.should_run(Step::System) { + runner.execute("Microsoft AutoUpdate", || macos::run_msupdate(&ctx))?; runner.execute("App Store", || macos::run_mas(run_type))?; runner.execute("System upgrade", || macos::upgrade_macos(run_type))?; } diff --git a/src/steps/os/macos.rs b/src/steps/os/macos.rs index c301df9b..0b9a8d6c 100644 --- a/src/steps/os/macos.rs +++ b/src/steps/os/macos.rs @@ -1,7 +1,19 @@ +use crate::execution_context::ExecutionContext; use crate::executor::RunType; use crate::terminal::print_separator; -use crate::utils::require; +use crate::utils::{require, PathExt}; use anyhow::Result; +use std::path::Path; + +pub fn run_msupdate(ctx: &ExecutionContext) -> Result<()> { + let msupdate = + Path::new("/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate") + .require()?; + print_separator("Microsoft AutoUpdate"); + + ctx.run_type().execute(msupdate).arg("--list").check_run()?; + ctx.run_type().execute(msupdate).arg("--install").check_run() +} pub fn run_mas(run_type: RunType) -> Result<()> { let mas = require("mas")?;