diff --git a/.gitignore b/.gitignore
index 45c35ff..cc5b38f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -515,8 +515,6 @@ nul
/*.deb
/*.dmg
/*.AppImage
-/velopack-output-local-verify
-/velopack-output-local
/test-aot-publish
/.claude/worktrees
diff --git a/LanMountainDesktop.Launcher/CommandContext.cs b/LanMountainDesktop.Launcher/CommandContext.cs
index f3d1948..612263f 100644
--- a/LanMountainDesktop.Launcher/CommandContext.cs
+++ b/LanMountainDesktop.Launcher/CommandContext.cs
@@ -11,7 +11,6 @@ internal sealed class CommandContext
"launch",
"preview-splash",
"preview-error",
- "preview-update",
"preview-oobe",
"preview-debug"
];
diff --git a/LanMountainDesktop.Launcher/Models/ReleaseInfo.cs b/LanMountainDesktop.Launcher/Models/ReleaseInfo.cs
deleted file mode 100644
index b74348a..0000000
--- a/LanMountainDesktop.Launcher/Models/ReleaseInfo.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-namespace LanMountainDesktop.Launcher.Models;
-
-///
-/// GitHub Release 信息
-///
-public sealed class ReleaseInfo
-{
- public required string TagName { get; init; }
- public required string Name { get; init; }
- public required bool Prerelease { get; init; }
- public required DateTime PublishedAt { get; init; }
- public required List Assets { get; init; }
- public string? Body { get; init; }
-}
-
-///
-/// Release 资源文件
-///
-public sealed class ReleaseAsset
-{
- public required string Name { get; init; }
- public required string BrowserDownloadUrl { get; init; }
- public required long Size { get; init; }
-}
diff --git a/LanMountainDesktop.Launcher/Properties/launchSettings.json b/LanMountainDesktop.Launcher/Properties/launchSettings.json
index aa58061..1aa1b6d 100644
--- a/LanMountainDesktop.Launcher/Properties/launchSettings.json
+++ b/LanMountainDesktop.Launcher/Properties/launchSettings.json
@@ -41,14 +41,6 @@
"DOTNET_ENVIRONMENT": "Development"
}
},
- "Launcher (Preview Update)": {
- "commandName": "Project",
- "commandLineArgs": "preview-update",
- "workingDirectory": "$(SolutionDir)",
- "environmentVariables": {
- "DOTNET_ENVIRONMENT": "Development"
- }
- },
"Launcher (Preview OOBE)": {
"commandName": "Project",
"commandLineArgs": "preview-oobe",
diff --git a/LanMountainDesktop.Launcher/Shell/EntryHandlers/PreviewEntryHandler.cs b/LanMountainDesktop.Launcher/Shell/EntryHandlers/PreviewEntryHandler.cs
index 866b550..e12db89 100644
--- a/LanMountainDesktop.Launcher/Shell/EntryHandlers/PreviewEntryHandler.cs
+++ b/LanMountainDesktop.Launcher/Shell/EntryHandlers/PreviewEntryHandler.cs
@@ -22,9 +22,6 @@ internal static class PreviewEntryHandler
case "preview-multi-instance":
RunMultiInstancePreview(desktop);
return true;
- case "preview-update":
- RunUpdatePreview(desktop);
- return true;
case "preview-oobe":
RunOobePreview(desktop);
return true;
@@ -60,14 +57,6 @@ internal static class PreviewEntryHandler
_ = WaitForWindowCloseAsync(desktop, promptWindow);
}
- private static void RunUpdatePreview(IClassicDesktopStyleApplicationLifetime desktop)
- {
- var updateWindow = new UpdateWindow();
- updateWindow.SetDebugMode(true);
- updateWindow.Show();
- _ = SimulateUpdatePreviewAsync(desktop, updateWindow);
- }
-
private static void RunOobePreview(IClassicDesktopStyleApplicationLifetime desktop)
{
var oobeWindow = new OobeWindow();
@@ -77,11 +66,10 @@ internal static class PreviewEntryHandler
private static async Task SimulateSplashPreviewAsync(IClassicDesktopStyleApplicationLifetime desktop, SplashWindow window)
{
- var stages = new[] { "initializing", "update", "plugins", "launch", "ready" };
+ var stages = new[] { "initializing", "plugins", "launch", "ready" };
var messages = new[]
{
Strings.Preview_SplashInitializing,
- Strings.Preview_SplashCheckingUpdates,
Strings.Preview_SplashCheckingPlugins,
Strings.Preview_SplashLaunchingHost,
Strings.Preview_SplashReady
@@ -98,20 +86,6 @@ internal static class PreviewEntryHandler
await Dispatcher.UIThread.InvokeAsync(() => desktop.Shutdown(0));
}
- private static async Task SimulateUpdatePreviewAsync(IClassicDesktopStyleApplicationLifetime desktop, UpdateWindow window)
- {
- var stages = new[] { "verify", "extract", "apply", "plugins", "cleanup" };
- for (var i = 0; i < stages.Length; i++)
- {
- window.Report(stages[i], string.Format(Strings.Preview_UpdateProcessing, stages[i]), (i + 1) * 20);
- await Task.Delay(600).ConfigureAwait(false);
- }
-
- window.ReportComplete(true, null);
- await Task.Delay(3000).ConfigureAwait(false);
- await Dispatcher.UIThread.InvokeAsync(() => desktop.Shutdown(0));
- }
-
private static async Task SimulateOobePreviewAsync(IClassicDesktopStyleApplicationLifetime desktop, OobeWindow window)
{
try
diff --git a/LanMountainDesktop.Launcher/ViewModels/DevDebugWindowViewModel.cs b/LanMountainDesktop.Launcher/ViewModels/DevDebugWindowViewModel.cs
index b149e5a..22d4259 100644
--- a/LanMountainDesktop.Launcher/ViewModels/DevDebugWindowViewModel.cs
+++ b/LanMountainDesktop.Launcher/ViewModels/DevDebugWindowViewModel.cs
@@ -11,7 +11,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
{
private bool _isSplashEnabled = true;
private bool _isErrorEnabled = true;
- private bool _isUpdateEnabled = true;
private bool _isOobeEnabled = true;
private bool _isDataLocationEnabled = true;
private string _statusMessage = "就绪";
@@ -54,23 +53,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
}
}
- ///
- /// 更新页面是否启用实际功能
- ///
- public bool IsUpdateEnabled
- {
- get => _isUpdateEnabled;
- set
- {
- if (_isUpdateEnabled != value)
- {
- _isUpdateEnabled = value;
- OnPropertyChanged();
- UpdateStatus($"更新页面: {(value ? "功能模式" : "仅查看")}");
- }
- }
- }
-
///
/// OOBE页面是否启用实际功能
///
@@ -139,11 +121,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
///
public ICommand OpenErrorCommand { get; }
- ///
- /// 打开更新页面命令
- ///
- public ICommand OpenUpdateCommand { get; }
-
///
/// 打开OOBE页面命令
///
@@ -183,11 +160,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
///
public event EventHandler? OpenErrorRequested;
- ///
- /// 请求打开更新页面
- ///
- public event EventHandler? OpenUpdateRequested;
-
///
/// 请求打开OOBE页面
///
@@ -217,11 +189,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
OpenErrorRequested?.Invoke(this, new ErrorOpenEventArgs(IsErrorEnabled));
});
- OpenUpdateCommand = new RelayCommand(() =>
- {
- OpenUpdateRequested?.Invoke(this, new UpdateOpenEventArgs(IsUpdateEnabled));
- });
-
OpenOobeCommand = new RelayCommand(() =>
{
OpenOobeRequested?.Invoke(this, new OobeOpenEventArgs(IsOobeEnabled));
@@ -236,7 +203,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
{
IsSplashEnabled = false;
IsErrorEnabled = false;
- IsUpdateEnabled = false;
IsOobeEnabled = false;
IsDataLocationEnabled = false;
UpdateStatus("全部页面已切换到查看模式");
@@ -246,7 +212,6 @@ public sealed class DevDebugWindowViewModel : INotifyPropertyChanged
{
IsSplashEnabled = true;
IsErrorEnabled = true;
- IsUpdateEnabled = true;
IsOobeEnabled = true;
IsDataLocationEnabled = true;
UpdateStatus("全部页面已切换到功能模式");
@@ -283,12 +248,6 @@ public class ErrorOpenEventArgs : EventArgs
public ErrorOpenEventArgs(bool isFunctional) => IsFunctional = isFunctional;
}
-public class UpdateOpenEventArgs : EventArgs
-{
- public bool IsFunctional { get; }
- public UpdateOpenEventArgs(bool isFunctional) => IsFunctional = isFunctional;
-}
-
public class OobeOpenEventArgs : EventArgs
{
public bool IsFunctional { get; }
diff --git a/LanMountainDesktop.Launcher/Views/DevDebugWindow.axaml b/LanMountainDesktop.Launcher/Views/DevDebugWindow.axaml
index 6b083d2..6e2eef9 100644
--- a/LanMountainDesktop.Launcher/Views/DevDebugWindow.axaml
+++ b/LanMountainDesktop.Launcher/Views/DevDebugWindow.axaml
@@ -91,32 +91,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /// 打开更新页面
- ///
- private void OnOpenUpdateRequested(object? sender, UpdateOpenEventArgs e)
- {
- var updateWindow = new UpdateWindow();
-
- if (!e.IsFunctional)
- {
- // 查看模式:显示模拟更新
- updateWindow.SetDebugMode(true);
- }
-
- updateWindow.Show();
-
- if (e.IsFunctional)
- {
- // 功能模式:模拟更新进度
- _ = SimulateUpdateProgress(updateWindow);
- }
- }
-
///
/// 打开OOBE页面
///
@@ -161,7 +138,7 @@ public partial class DevDebugWindow : Window
///
private async Task SimulateSplashProgress(SplashWindow splashWindow)
{
- var stages = new[] { Strings.Preview_SplashInitializing, Strings.Preview_SplashCheckingUpdates, Strings.Preview_SplashCheckingPlugins, Strings.Preview_SplashLaunchingHost };
+ var stages = new[] { Strings.Preview_SplashInitializing, Strings.Preview_SplashCheckingPlugins, Strings.Preview_SplashLaunchingHost };
var reporter = (ISplashStageReporter)splashWindow;
for (int i = 0; i < stages.Length; i++)
@@ -175,33 +152,13 @@ public partial class DevDebugWindow : Window
splashWindow.Close();
}
- ///
- /// 模拟更新进度
- ///
- private async Task SimulateUpdateProgress(UpdateWindow updateWindow)
- {
- var stages = new[] { "下载", "验证", "安装", "清理" };
-
- foreach (var stage in stages)
- {
- updateWindow.Report(stage, $"正在{stage}...", Array.IndexOf(stages, stage) * 25 + 10);
- await Task.Delay(800);
- }
-
- updateWindow.ReportComplete(true, null);
-
- // 2秒后关闭
- await Task.Delay(2000);
- updateWindow.Close();
- }
-
protected override void OnClosed(EventArgs e)
{
// 取消订阅事件
_viewModel.OpenSplashRequested -= OnOpenSplashRequested;
_viewModel.OpenErrorRequested -= OnOpenErrorRequested;
- _viewModel.OpenUpdateRequested -= OnOpenUpdateRequested;
_viewModel.OpenOobeRequested -= OnOpenOobeRequested;
+ _viewModel.OpenDataLocationRequested -= OnOpenDataLocationRequested;
_viewModel.CloseRequested -= OnCloseRequested;
base.OnClosed(e);
diff --git a/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml b/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml
deleted file mode 100644
index 5369989..0000000
--- a/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml.cs b/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml.cs
deleted file mode 100644
index 28c4501..0000000
--- a/LanMountainDesktop.Launcher/Views/UpdateWindow.axaml.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using Avalonia.Threading;
-using LanMountainDesktop.Launcher.Resources;
-
-namespace LanMountainDesktop.Launcher.Views;
-
-///
-/// 更新进度窗口 - 用于预览模式显示更新/插件升级进度
-///
-public partial class UpdateWindow : Window
-{
- public UpdateWindow()
- {
- AvaloniaXamlLoader.Load(this);
- InitializeEventHandlers();
- }
-
- ///
- /// 初始化事件处理程序
- ///
- private void InitializeEventHandlers()
- {
- var minimizeButton = this.FindControl