From 63505836fc40a8d6c53e97720429cd493c61cd50 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 01:13:28 +0000 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20Windows=20=EB=A6=B4=EB=A6=AC?= =?UTF-8?q?=EC=A6=88=20=EB=B9=8C=EB=93=9C=EC=97=90=EC=84=9C=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=EC=9E=90=20=EA=B6=8C=ED=95=9C=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=8B=A4=ED=96=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src-tauri/app.release.manifest 추가: requireAdministrator 실행 수준 지정 - build.rs: 릴리즈 빌드에서만 manifest를 삽입하고 개발 서버에서는 기본 동작 유지 Co-authored-by: 이시훈 --- src-tauri/app.release.manifest | 22 ++++++++++++++++++++++ src-tauri/build.rs | 26 +++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src-tauri/app.release.manifest diff --git a/src-tauri/app.release.manifest b/src-tauri/app.release.manifest new file mode 100644 index 0000000..4fb9f8d --- /dev/null +++ b/src-tauri/app.release.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src-tauri/build.rs b/src-tauri/build.rs index d30f9ab..3aa96ef 100644 --- a/src-tauri/build.rs +++ b/src-tauri/build.rs @@ -5,7 +5,31 @@ fn main() { maybe_embed_webview2_fixed_runtime(); #[cfg(target_os = "macos")] maybe_build_macos_dock_helper(); - tauri_build::build() + build_tauri(); +} + +/// 빌드 프로필에 따라 tauri-build를 실행합니다. +/// 릴리즈 빌드에서는 Windows 관리자 권한을 요청하는 manifest를 적용하고, +/// 개발 서버(tauri dev)에서는 기본 설정을 사용합니다. +fn build_tauri() { + #[cfg(target_os = "windows")] + { + println!("cargo:rerun-if-changed=app.release.manifest"); + let profile = std::env::var("PROFILE").unwrap_or_default(); + if profile == "release" { + let manifest_path = std::path::PathBuf::from("app.release.manifest"); + if manifest_path.exists() { + tauri_build::try_build( + tauri_build::Attributes::new().windows_attributes( + tauri_build::WindowsAttributes::new().app_manifest(manifest_path), + ), + ) + .expect("tauri 빌드 실패"); + return; + } + } + } + tauri_build::build(); } #[cfg(target_os = "macos")] From 829fdf449153c462e2558af6c7581ecb8908c0d7 Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 26 Feb 2026 11:42:00 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20Windows=20=EC=95=B1=20=EB=A7=A4?= =?UTF-8?q?=EB=8B=88=ED=8E=98=EC=8A=A4=ED=8A=B8=EC=97=90=20=EC=A2=85?= =?UTF-8?q?=EC=86=8D=EC=84=B1=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EB=B9=8C?= =?UTF-8?q?=EB=93=9C=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/app.release.manifest | 12 ++++++++++++ src-tauri/build.rs | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src-tauri/app.release.manifest b/src-tauri/app.release.manifest index 4fb9f8d..fe52612 100644 --- a/src-tauri/app.release.manifest +++ b/src-tauri/app.release.manifest @@ -1,5 +1,17 @@ + + + + + diff --git a/src-tauri/build.rs b/src-tauri/build.rs index 3aa96ef..be511ae 100644 --- a/src-tauri/build.rs +++ b/src-tauri/build.rs @@ -17,11 +17,13 @@ fn build_tauri() { println!("cargo:rerun-if-changed=app.release.manifest"); let profile = std::env::var("PROFILE").unwrap_or_default(); if profile == "release" { - let manifest_path = std::path::PathBuf::from("app.release.manifest"); + let manifest_path = std::path::Path::new("app.release.manifest"); if manifest_path.exists() { + let manifest = std::fs::read_to_string(manifest_path) + .expect("app.release.manifest 읽기 실패"); tauri_build::try_build( tauri_build::Attributes::new().windows_attributes( - tauri_build::WindowsAttributes::new().app_manifest(manifest_path), + tauri_build::WindowsAttributes::new().app_manifest(manifest), ), ) .expect("tauri 빌드 실패");