From 0065085ba2c06fda7ba917c6543b96ce1937d5da Mon Sep 17 00:00:00 2001 From: fufesou <13586388+fufesou@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:34:05 +0800 Subject: [PATCH] fix: win, peer shortcut, colon to underscore (#13740) Signed-off-by: fufesou --- src/platform/windows.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/platform/windows.rs b/src/platform/windows.rs index 9481bd69f..bddeb4302 100644 --- a/src/platform/windows.rs +++ b/src/platform/windows.rs @@ -1861,13 +1861,17 @@ unsafe fn set_default_dll_directories() -> bool { pub fn create_shortcut(id: &str) -> ResultType<()> { let exe = std::env::current_exe()?.to_str().unwrap_or("").to_owned(); + // https://github.com/rustdesk/rustdesk/issues/13735 + // Replace ':' with '_' for filename since ':' is not allowed in Windows filenames + // https://github.com/rustdesk/hbb_common/blob/8b0e25867375ba9e6bff548acf44fe6d6ffa7c0e/src/config.rs#L1384 + let filename = id.replace(':', "_"); let shortcut = write_cmds( format!( " Set oWS = WScript.CreateObject(\"WScript.Shell\") strDesktop = oWS.SpecialFolders(\"Desktop\") Set objFSO = CreateObject(\"Scripting.FileSystemObject\") -sLinkFile = objFSO.BuildPath(strDesktop, \"{id}.lnk\") +sLinkFile = objFSO.BuildPath(strDesktop, \"{filename}.lnk\") Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = \"{exe}\" oLink.Arguments = \"--connect {id}\"