From 6846756926450f7dbeabec4e7e8e30704eb52c49 Mon Sep 17 00:00:00 2001 From: WGB5445 <919603023@qq.com> Date: Mon, 18 Mar 2024 09:58:28 -0700 Subject: [PATCH] [solana-install-init] Optimize error message for Windows user permission installation (#234) * feat: check user's permissions in Windows * feat: Remove check fun and check os_err * fmt and optimize code --- install/src/command.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/install/src/command.rs b/install/src/command.rs index d7b92c1769..e96b94b97d 100644 --- a/install/src/command.rs +++ b/install/src/command.rs @@ -1171,13 +1171,17 @@ pub fn init_or_update(config_file: &str, is_init: bool, check_only: bool) -> Res release_dir.join("solana-release"), config.active_release_dir(), ) - .map_err(|err| { - format!( + .map_err(|err| match err.raw_os_error() { + #[cfg(windows)] + Some(os_err) if os_err == winapi::shared::winerror::ERROR_PRIVILEGE_NOT_HELD => { + "You need to run this command with administrator privileges.".to_string() + } + _ => format!( "Unable to symlink {:?} to {:?}: {}", release_dir, config.active_release_dir(), err - ) + ), })?; config.save(config_file)?;