Files
Better-Seewo/Installer/Pages/InstallPage.xaml.cs
雾启工作室 fb7b924c0d feat: 从零重建项目架构
- Better-EN5 插件:基于官方示例,注册3个右键菜单项
- Manager 管理器:横版5标签布局,深色主题 WPF 应用
- 自定义 Fluent 安装器:无边框窗口,圆角,淡入淡出动画
- 删除旧代码,移除 SDK 自动安装器
- 三个项目全部编译通过(0 错误)
2026-06-28 12:40:10 +08:00

80 lines
2.3 KiB
C#

using System;
using System.IO;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
namespace BetterSeewoInstaller.Pages;
public partial class InstallPage : Page
{
public InstallPage()
{
InitializeComponent();
Loaded += OnLoaded;
}
private async void OnLoaded(object sender, RoutedEventArgs e)
{
await RunInstall();
}
private async Task RunInstall()
{
try
{
StatusText.Text = "正在检查环境...";
DetailText.Text = "查找 EN5 安装路径";
ProgressBar.Value = 10;
var en5Path = @"C:\Program Files (x86)\Seewo\EasiNote5\EasiNote5_5.2.4.9855\Main";
if (!Directory.Exists(en5Path))
{
StatusText.Text = "错误:未找到 EN5";
DetailText.Text = "请先安装希沃白板 EN5";
return;
}
await Task.Delay(500);
StatusText.Text = "正在安装插件...";
DetailText.Text = "复制插件文件到 EN5 Plugins 目录";
ProgressBar.Value = 40;
var pluginDir = Path.Combine(en5Path, "Plugins", "Better-EN5");
Directory.CreateDirectory(pluginDir);
// 复制插件 DLL
var sourceDir = AppDomain.CurrentDomain.BaseDirectory;
var pluginFiles = new[] { "Better-EN5.dll" };
foreach (var file in pluginFiles)
{
var src = Path.Combine(sourceDir, file);
var dst = Path.Combine(pluginDir, file);
if (File.Exists(src))
File.Copy(src, dst, true);
}
await Task.Delay(500);
StatusText.Text = "正在安装管理器...";
DetailText.Text = "复制管理器文件";
ProgressBar.Value = 70;
var mgrDir = Path.Combine(en5Path, "Plugins", "Better-Seewo-Manager");
Directory.CreateDirectory(mgrDir);
await Task.Delay(500);
StatusText.Text = "安装完成";
DetailText.Text = "Better-Seewo 已成功安装";
ProgressBar.Value = 100;
}
catch (Exception ex)
{
StatusText.Text = "安装失败";
DetailText.Text = ex.Message;
}
}
}