Merge pull request #6524 from fufesou/fix/install_cert_silent

Fix. Install cert silently
This commit is contained in:
RustDesk 2023-11-26 14:59:56 +08:00 committed by GitHub
commit ef9c4d96b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 2 deletions

View File

@ -202,7 +202,12 @@ pub fn core_main() -> Option<Vec<String>> {
return None;
} else if args[0] == "--install-cert" {
#[cfg(windows)]
hbb_common::allow_err!(crate::platform::windows::install_cert(&args[1]));
hbb_common::allow_err!(crate::platform::windows::install_cert(
crate::platform::windows::DRIVER_CERT_FILE
));
if args.len() > 1 && args[1] == "silent" {
return None;
}
#[cfg(all(windows, feature = "virtual_display_driver"))]
if crate::virtual_display_manager::is_virtual_display_supported() {
hbb_common::allow_err!(crate::virtual_display_manager::install_update_driver());
@ -212,6 +217,19 @@ pub fn core_main() -> Option<Vec<String>> {
#[cfg(windows)]
hbb_common::allow_err!(crate::platform::windows::uninstall_cert());
return None;
} else if args[0] == "--install-idd" {
#[cfg(windows)]
{
// It's ok to install cert multiple times.
hbb_common::allow_err!(crate::platform::windows::install_cert(
crate::platform::windows::DRIVER_CERT_FILE
));
}
#[cfg(all(windows, feature = "virtual_display_driver"))]
if crate::virtual_display_manager::is_virtual_display_supported() {
hbb_common::allow_err!(crate::virtual_display_manager::install_update_driver());
}
return None;
} else if args[0] == "--portable-service" {
crate::platform::elevate_or_run_as_system(
click_setup,

View File

@ -63,6 +63,8 @@ use windows_service::{
use winreg::enums::*;
use winreg::RegKey;
pub const DRIVER_CERT_FILE: &str = "RustDeskIddDriver.cer";
pub fn get_cursor_pos() -> Option<(i32, i32)> {
unsafe {
#[allow(invalid_value)]
@ -1029,7 +1031,12 @@ if exist \"{tmp_path}\\{app_name} Tray.lnk\" del /f /q \"{tmp_path}\\{app_name}
let src_exe = std::env::current_exe()?.to_str().unwrap_or("").to_string();
let install_cert = if options.contains("driverCert") {
format!("\"{}\" --install-cert \"RustDeskIddDriver.cer\"", src_exe)
let s = format!(r#""{}" --install-cert"#, src_exe);
if silent {
format!("{} silent", s)
} else {
s
}
} else {
"".to_owned()
};