Skip to content

BetterRNP v2.1.1

Choose a tag to compare

@TakaHoshino TakaHoshino released this 18 Oct 09:10
· 13 commits to main since this release

BetterRNP v2.1.1 图标、日志与插件体验更新

本版本补充应用图标与构建签名,完善托盘和插件相关稳定性,并加入结构化操作日志、日志查看器和计时插件示例。

更新内容

  • 全新应用图标:新增与宣传 Banner 风格统一的 SVG 图标、多尺寸 PNG 和 Windows .ico,并接入可执行文件、WPF 窗口和托盘资源。
  • 通知区域兼容改进:托盘宿主改用 Windows Forms NotifyIcon,右键菜单继续使用 Win32 CreatePopupMenu / TrackPopupMenu;监听 TaskbarCreated,Explorer 重启后自动重建图标。
  • 插件管理稳定性:插件列表由 GridView 改为 DataGrid,避免系统临时目录权限异常导致插件管理窗口无法打开;插件缓存和更新缓存迁移到程序自身的 data 目录。
  • 悬浮球插件菜单:插件 SDK 新增 RegisterFloatingBallCommand,插件命令会随启停状态实时出现在悬浮球右键菜单中。
  • 计时插件示例:新增 BetterRNP.TimerPlugin,包含正计时、倒计时、暂停、重置和倒计时完成提示,并支持从悬浮球菜单打开独立置顶窗口。
  • 结构化操作日志:日志包含毫秒级时间、级别、操作名和详细参数,支持 1 MB 自动滚动、保留 5 份历史文件,并记录未处理异常。
  • 日志查看器:新增“帮助 → 查看日志…”窗口,支持级别筛选、关键字搜索、自动刷新、打开目录、导出和清空。
  • 开发签名:提供默认 BetterRNP Development 自签名证书生成、信任安装和 Release 自动签名流程;发布包内附带公开 .cer 证书,不含私钥。
  • 构建修复:签名脚本显式加载 Microsoft.PowerShell.Security,兼容 Windows PowerShell 5.1 与 PowerShell 7;移除会误签 DLL 并阻塞普通构建的冗余目标。

自签名说明

  • 自签名证书只适合本地开发和当前用户信任环境,不等同于 CA 公开发布证书。
  • 两个应用 zip 均已附带 BetterRNP-Development-Certificate.cer,Release 附件也单独提供该证书。
  • 如希望本机显示发布者名称,可先执行:
powershell -ExecutionPolicy Bypass -File tools\install-release-cert.ps1 `
    -CertificatePath .\BetterRNP-Development-Certificate.cer
  • 不要分发 .pfx 私钥;正式公开分发仍建议使用受信任的 CA 代码签名证书。

兼容性说明

  • 主程序数据格式、方案、名单、数字、座位和主题配置保持兼容。
  • 现有 .rnpp 插件可继续加载;插件 SDK 版本仍为 BetterRNP.PluginSdk 1.0.0。
  • 插件 API 新增悬浮球菜单命令接口,旧插件无需修改即可继续使用。

⬇️ 下载

1. 应用自包含版(推荐,免装环境)

  • BetterRNP_win-x64_self-contained_v2.1.1.zip(约 63 MB)
  • 已内置 .NET 8 运行时,解压后直接运行 BetterRNP.exe

2. 应用框架依赖版(体积小,需装运行时)

3. 插件 SDK(可选,供插件开发者使用)

  • BetterRNP.PluginSdk.1.0.0.nupkg(约 11 KB)
  • 可通过本地 NuGet 源引用,详见仓库 README.md 与 SDK 包内 README.md

4. 开发签名公开证书

  • BetterRNP-Development-Certificate.cer
  • 仅包含公开证书,可安全分发

两个应用 zip 功能完全相同,仅打包方式和运行环境要求不同。不确定时下载自包含版即可。


运行环境

  • Windows 10 / 11 64 位
  • 自包含版:无需任何预装
  • 框架依赖版:需安装 .NET 8 桌面运行时

更新检查

  • 支持启动自动检查与手动检查。
  • 支持官方源和 https://gh-proxy.com/ 镜像源。
  • 自动识别当前为 fd 或 sc,并默认选择对应更新包。