diff --git a/src/Everything2Everything.App/ViewModels/ToolSetupViewModel.cs b/src/Everything2Everything.App/ViewModels/ToolSetupViewModel.cs index 4f2ce7f..40dea61 100644 --- a/src/Everything2Everything.App/ViewModels/ToolSetupViewModel.cs +++ b/src/Everything2Everything.App/ViewModels/ToolSetupViewModel.cs @@ -156,7 +156,8 @@ public sealed class ToolSetupViewModel : INotifyPropertyChanged IsInstalling = true; try { - foreach (var item in Tools.Where(t => t.IsSelected).ToList()) + // 이미 설치된 도구는 재설치하지 않고 건너뛴다(감지 상태가 Installed인 항목 제외). + foreach (var item in Tools.Where(t => t.IsSelected && t.State != ToolInstallState.Installed).ToList()) await InstallOneAsync(item, ct).ConfigureAwait(true); } finally diff --git a/src/Everything2Everything.App/Views/ToolSetupWindow.xaml.cs b/src/Everything2Everything.App/Views/ToolSetupWindow.xaml.cs index 1ae7eec..4c191cf 100644 --- a/src/Everything2Everything.App/Views/ToolSetupWindow.xaml.cs +++ b/src/Everything2Everything.App/Views/ToolSetupWindow.xaml.cs @@ -25,6 +25,8 @@ public partial class ToolSetupWindow : Wpf.Ui.Controls.FluentWindow try { await _vm.InstallSelectedAsync(_cts.Token); + // 온보딩 완료 → 다이얼로그를 닫아 ShowMainWindow가 뒤이어 메인 창을 띄우게 한다. + Close(); } finally {