diff --git a/src/steps/generic.rs b/src/steps/generic.rs index a402c297..72dbb2c0 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -1081,7 +1081,7 @@ pub fn run_powershell(ctx: &ExecutionContext) -> Result<()> { // and Update-Module updates all modules regardless of their original installation scope powershell.build_command(ctx, &cmd, false)?.status_checked() } else { - // For (Windows) PowerShell, use sudo if available since it defaults to AllUsers scope + // For (Windows) PowerShell, use sudo since it defaults to AllUsers scope // and may need administrator privileges powershell.build_command(ctx, &cmd, true)?.status_checked() } diff --git a/src/steps/os/windows.rs b/src/steps/os/windows.rs index b6dfa75e..7aba8792 100644 --- a/src/steps/os/windows.rs +++ b/src/steps/os/windows.rs @@ -20,11 +20,9 @@ pub fn run_chocolatey(ctx: &ExecutionContext) -> Result<()> { print_separator("Chocolatey"); - let mut command = match ctx.sudo() { - Some(sudo) => sudo.execute(ctx, &choco)?, - None => ctx.execute(choco), - }; + let sudo = ctx.require_sudo()?; + let mut command = sudo.execute(ctx, &choco)?; command.args(["upgrade", "all"]); if yes { @@ -42,10 +40,8 @@ pub fn run_winget(ctx: &ExecutionContext) -> Result<()> { ctx.execute(&winget).args(["source", "update"]).status_checked()?; let mut command = if ctx.config().winget_use_sudo() { - match ctx.sudo() { - Some(sudo) => sudo.execute(ctx, &winget)?, - None => ctx.execute(winget), - } + let sudo = ctx.require_sudo()?; + sudo.execute(ctx, &winget)? } else { ctx.execute(winget) }; diff --git a/src/steps/powershell.rs b/src/steps/powershell.rs index 7bb1515b..9e348c32 100644 --- a/src/steps/powershell.rs +++ b/src/steps/powershell.rs @@ -82,10 +82,11 @@ impl Powershell { cmd: &str, use_sudo: bool, ) -> Result { - // if use_sudo and sudo is available, use it, otherwise run directly - let mut command = match ctx.sudo() { - Some(sudo) if use_sudo => sudo.execute(ctx, &self.path)?, - _ => ctx.execute(&self.path), + let mut command = if use_sudo { + let sudo = ctx.require_sudo()?; + sudo.execute(ctx, &self.path)? + } else { + ctx.execute(&self.path) }; #[cfg(windows)]