Windows 控制中心:安装、使用与维护
Novora Windows 版是一个自包含的 x64 安装包:Node.js、PostgreSQL、服务宿主、托盘和控制中心都在安装包里,学校电脑不需要另外安装运行环境。本页从安装和初始化讲到日常使用、软件更新、备份恢复、日志与故障处理;考试、公告、账号等业务功能仍在浏览器管理端操作。
本页适用范围
适用于 V2.8.2 的 Windows 完整安装包。控制中心日常运行不需要管理员权限;只有应用 Windows 设置、启动/停止服务、备份恢复和安装更新时会弹出 UAC 授权。
从 V2.8.1 及更早版本升级
旧安装包没有更新公钥,不能通过在线更新升级。请先手工安装一次 V2.8.2 完整包,之后才能在控制中心接收在线更新。详见 V2.8.2 更新日志 与 版本兼容与升级。
一、安装与首次初始化
1. 运行完整安装包
- 在服务器本机运行
Novora-Setup-2.8.2.exe。安装程序会请求管理员权限。 - 程序默认安装到
C:\Program Files\Novora,学校数据放在C:\ProgramData\Novora。安装前先确认系统盘和数据盘空间充足。 - 安装器只部署程序文件、运行库、服务组件和快捷方式,不会初始化数据库、注册服务或执行健康检查;这些步骤在初始化向导中完成。
- 安装过程不需要联网,但安装包体积较大(内含 Node.js 与 PostgreSQL 运行时)。安装完成后会自动打开控制中心;没有自动打开时,从桌面或开始菜单启动 Novora。
安装器会创建桌面快捷方式、开始菜单项和登录启动的托盘快捷方式。需要长期运行时,建议把服务器设置为固定局域网 IP,避免重启后地址变化导致教室大屏失联。
2. 完成四步初始化向导
首次打开控制中心会进入初始化向导,顶部按 环境检查 → 参数设置 → 确认应用 → 结果 推进。初始化可以重复运行,用于修复配置或重新应用设置;已有学校数据会保留。
第一步:环境检查
点“重新检查系统”。检查覆盖运行文件、Windows 服务、防火墙、快捷方式、初始化记录和备份计划,通常几秒完成,冷启动时最长 45 秒。
- 红色“需要处理”:阻断项,例如核心运行文件缺失。按提示修复后再检查;文件缺失时重新安装完整包。
- 黄色“待初始化 / 待配置”:尚未注册的服务、可选项未设置等,继续下一步后由初始化创建或应用。
- 项目较多时勾选“只看未通过项”,列表会先显示阻断项。
第二步:参数设置
| 项目 | 默认 | 说明 |
|---|---|---|
| Novora 服务开机自动启动 | 开 | 服务器重启后自动恢复业务服务。 |
| 数据库开机自动启动 | 开 | 随系统启动内置 PostgreSQL。 |
| 服务异常后自动重启 | 开 | 由 Windows 服务管理器在异常退出后拉起。 |
| 允许本地子网访问 | 开 | 为所有 Windows 网络配置放通 HTTP 端口,入站仅限本地子网;数据库端口不对外。 |
| 登录后启动托盘 | 开 | 操作员登录 Windows 后自动运行托盘。 |
| 桌面 / 开始菜单快捷方式 | 开 | 勾选会创建,取消勾选会在应用设置时移除。 |
| 每天 02:00 自动备份 | 关 | 计算机需处于开机状态;也可以在数据备份页手动备份。 |
| 服务端口 | 3000 | 1–65535。修改会重启业务服务,并同步更新防火墙规则。 |
| 普通备份保留份数 | 14 | 1–365。更新前、恢复前的保护备份不参与自动清理。 |
这些开关只影响本机 Windows 配置和 Novora 服务,不会改动学校业务数据。
第三步:确认应用
核对摘要后点“应用 Windows 设置”。系统会请求一次管理员授权,然后依次:
- 写入本机配置与数据库凭据;
- 注册
Novora与NovoraPostgreSQL两个 Windows 服务; - 启动数据库,验证真实连接和数据库目录;
- 准备业务库
novora; - 启动业务服务,并验证
/api/health返回正常。
内置 PostgreSQL 只监听 127.0.0.1:55432,不会使用或修改机器上已有的 5432 实例。初次初始化时,如果本机还没有管理员账户,系统会创建 admin 并生成初始密码。
失败时当前项目会保留在界面上,并提供日志、诊断摘要和重试入口。致命错误会使初始化失败;非致命警告会逐项列出,但不影响已通过的健康验证,也不会关闭后续更新入口。
第四步:结果
结果页区分致命错误与“需要检查”的警告。看到“查看初始登录凭据”时,可以查看初始账号和密码;文件同时保存在:
C:\ProgramData\Novora\config\initial-credentials.txt如果管理员账户已经初始化过,这个引导密码可能已经失效,重新初始化不会重置账号密码,请按登录页的恢复流程处理。初始化成功后,运行总览应显示“运行正常”,此时可以点“打开管理端”进入浏览器后台。
3. 首次登录与验收
- 本机访问
http://127.0.0.1:3000,或局域网访问http://服务器IP:3000。运行总览的“复制本机地址 / 复制局域网地址”可以直接复制。 - 使用
admin和初始密码登录,首次登录后立即修改密码,并按页面提示保存恢复密钥。 - 检查运行总览的服务、数据库、端口和局域网状态;创建一个测试考试,确认教室大屏和 PDF 下载正常。
- 需要多台教室机访问时,确认已勾选“允许本地子网访问”。跨 VLAN、跨网段或公网访问需要额外的网络与反向代理配置,见反向代理与 HTTPS。
二、日常使用
控制中心六个页面
| 页面 | 用途 |
|---|---|
| 运行总览 | 查看服务、数据库、访问地址和健康状态;复制本机/局域网地址和诊断信息;启动、重启、停止服务。 |
| 初始化 | 首次初始化,或重新检查、修复 Windows 配置;应用端口、启动方式、防火墙和备份计划。 |
| Windows 设置 | 修改开机启动、自动重启、局域网访问、服务端口、备份计划和快捷方式。 |
| 软件更新 | 检查、下载、安装更新;导入离线包;恢复未完成更新;查看更新记录与缓存。 |
| 服务日志 | 查看业务服务、初始化和安装日志,支持级别筛选、关键字搜索、导出和打开日志目录。 |
| 数据备份 | 创建、校验、恢复和删除数据库备份,打开备份目录。 |
控制中心同一用户会话只保留一个窗口;再次双击会激活已打开的窗口,不会重复启动。关闭窗口只关闭界面,Windows 服务和托盘继续运行。界面每 10 秒刷新一次状态,HTTP 健康检查最多等待 3 秒。
托盘
托盘图标在操作员登录后自动启动:
- 左键单击:打开控制中心。
- 右键菜单:查看服务状态、打开控制中心或在浏览器中打开、复制局域网地址、启动/重启/停止服务、查看日志、备份与恢复、软件更新、Windows 设置、初始化与修复。
- 退出托盘:只退出托盘程序,后台服务继续运行;下次可从开始菜单重新启动。
浏览器管理端
Windows 控制中心只负责本机运行环境。考试、周测、公告、设备、账号和系统设置等业务功能,都在浏览器管理端完成。
- 本机:
http://127.0.0.1:3000 - 局域网:
http://服务器IP:3000 - 修改服务端口后,管理端地址也要换成新端口。
- 不要把 3000 端口直接映射到公网;公网访问请使用反向代理和 HTTPS。
三、软件更新
软件更新页把在线更新、离线导入、更新记录和匿名统计分开显示,只有当前阶段可用的操作才会出现。
在线更新
- 检查更新:优先获取作者端推荐,并在本机验证发布签名。作者端不可达、超时或返回 408/429/5xx 时,回退到可信 GitHub 稳定发布;没有推荐、清单异常或签名校验失败时不会切换来源。
- 下载更新:显示真实下载进度,支持取消和断点续传;检查和下载期间业务服务保持运行。
- 安装已下载更新:确认后由独立更新程序提权执行,依次完成签名与摘要复核、数据库保护备份、停止服务、兼容迁移、切换应用版本和健康检查。新版本健康检查失败时会自动回退上一应用版本,数据库保持兼容迁移后的状态。
更新完成或失败都会写入更新记录(最近 50 条),包含来源、目标版本和结果。应用更新不会覆盖学校配置、数据库、日志或备份。
离线导入
作者端和 GitHub 都不可达时,可以在软件更新页导入离线 .nvu 包。离线包同样要验证签名和摘要,校验通过后才能安装。
完整安装包
当前环境不满足应用包兼容条件(例如运行时不匹配)时,页面会提供“下载完整安装包”入口。它只下载并校验完整包,然后在资源管理器中定位文件,不会自动运行安装程序。安装完整包前请先备份并按提示停止服务。应用更新要求当前运行时为 Node 24、Windows x64,且数据库结构兼容;不满足时会引导改用完整包。
中断恢复
更新被中断时,软件更新页会提示“上次更新需要恢复”,并提供“恢复未完成更新”入口。恢复会切回上次更新前的应用版本并验证健康,不会自动用备份覆盖数据库。
- 不要手工删除
updater\state.json,也不要直接拿旧安装包覆盖。 - 如果页面提示
repair-required,说明自动回退也未能通过健康检查;保留应用目录、状态文件和保护备份,再联系发布方处理。 - 更新、备份、恢复和卸载共用数据库维护锁,同一时间只能执行一项。
信任配置与匿名统计
更新功能依赖安装目录内的 updater/trust.json 公钥与仓库配置。缺失或无效时,检查和离线导入会被禁用,并提示联系发布方获取带信任配置的完整包。
匿名更新统计默认关闭;只有手动开启后才发送随机标识、版本、更新来源、阶段和错误码,不上传数据库、密码或学校业务数据,发送失败也不影响更新。
四、备份与恢复
创建备份与保留策略
在“数据备份”页点“创建备份”,会立即导出一份 PostgreSQL 归档:
- 备份保存在
C:\ProgramData\Novora\backups,文件名为novora-日期-时间-随机后缀.dump。 - 列表最多显示最近 100 份,可校验归档结构、恢复、删除或打开备份目录。
- 普通备份按“普通备份保留份数”自动清理;
novora-before-update-*和novora-before-restore-*属于保护备份,不参与自动清理。 - 在 Windows 设置中可开启每天 02:00 自动备份,计算机会通过计划任务
Novora Daily Backup执行。
备份只包含数据库,不包含安装目录、配置文件、更新记录和日志。整机迁移或灾难恢复时,请另行保留 C:\ProgramData\Novora\config(含数据库凭据等敏感信息),并离线加密保管。备份也建议定期复制到另一台机器或离线介质,避免硬盘故障时与数据库一起丢失。
更新前系统会检查应用盘至少 5 GB、备份盘至少 1 GB 可用空间;数据量较大时需要更多空间,实际写入失败会中止更新。
恢复
- 在备份列表中选择目标备份,点“恢复所选”。
- 确认后系统会暂停业务服务,先创建一份恢复前保护备份,再在单个数据库事务中恢复;恢复出错会回滚事务。
- 恢复完成后检查运行总览的健康状态,并打开管理端确认考试、设备和公告数据。
恢复会覆盖当前业务数据,但不会改变应用版本。列表里的“校验”只检查归档结构是否完整,不代表一定能成功恢复;重要备份应定期在测试环境做实际恢复演练。
卸载与数据保留
通过 Windows“应用和功能”卸载 Novora 时,会停止并移除两个服务、防火墙规则、计划任务和快捷方式,默认保留 C:\ProgramData\Novora 中的数据。
确认不再需要数据时,先完成备份,再手动删除该目录;也可以在卸载前使用安装目录中的 uninstall.ps1 -PurgeData 显式删除。卸载残留(文件被占用、权限不足等)会列出具体原因并返回非零退出码,不会静默失败。
五、日志、服务与故障排查
服务、端口和系统入口
| 项目 | 名称 / 位置 |
|---|---|
| 业务服务 | Novora |
| 数据库服务 | NovoraPostgreSQL |
| Web 端口 | 默认 3000/tcp,可在 Windows 设置中修改 |
| 数据库端口 | 127.0.0.1:55432,仅本机可访问 |
| 防火墙规则 | Novora LAN Server |
| 自动备份计划 | 计划任务 Novora Daily Backup |
启动、重启、停止服务建议使用控制中心或托盘:它们会同时检查服务状态和 HTTP 健康,并在失败时给出日志与诊断入口。所有服务操作都会请求管理员授权,取消授权不会改变当前状态。
日志与诊断
| 内容 | 位置 |
|---|---|
| 业务服务日志 | C:\ProgramData\Novora\logs\novora-service.log(5 MiB 轮转,保留 3 份) |
| 初始化日志 | C:\ProgramData\Novora\logs\initialize.log |
| 安装程序日志 | C:\ProgramData\Novora\logs\installer.log |
| 卸载日志 | C:\ProgramData\Novora\logs\uninstall.log |
| 运行检查日志 | C:\ProgramData\Novora\logs\runtime-check.log |
| 控制中心日志 | %LOCALAPPDATA%\Novora\logs\controlcenter-*.log(2 MiB 轮转,保留 3 份) |
| 更新状态与记录 | C:\Program Files\Novora\updater\state.json、history.json、result.json |
| 更新下载缓存 | %LOCALAPPDATA%\Novora\updates |
运行总览的“复制诊断信息”会汇总版本、服务、端口和健康状态;服务日志页可以按来源、级别和关键字筛选,并导出当前结果。控制中心打不开或双击无反应时,先看它自己的 controlcenter-*.log。
常见问题
| 现象 | 先检查什么 |
|---|---|
| 双击控制中心没有反应 | 是否已有窗口在运行(单实例);查看 %LOCALAPPDATA%\Novora\logs\controlcenter-*.log;从开始菜单重新启动。 |
| “打开管理端”没有反应 | 控制中心会先尝试系统默认浏览器,失败时回退到 Edge/Chrome;仍打不开时复制本机地址手动访问。 |
| 管理端打不开或提示无法连接 | 运行总览是否“运行正常”;Novora 服务是否运行;端口是否被改动;用 http://127.0.0.1:端口 在本机验证。 |
| 局域网其他电脑访问不了 | 是否勾选“允许本地子网访问”;两台机器是否在同一子网;是否有 VLAN、AP 隔离或其它防火墙拦截;优先用 IP 而不是主机名。 |
| 端口被占用 | 在 Windows 设置中换一个端口并重新应用;可用 netstat -ano | findstr :3000 查占用进程。 |
| 服务启动失败 | 看运行总览与 novora-service.log;确认 NovoraPostgreSQL 正常、端口未被占用、磁盘空间充足;导出诊断摘要。 |
| 初始化有黄色警告 | 展开查看具体项目。服务启动方式写入被拒等属于非致命警告,不影响已通过的健康检查。 |
| 更新失败或被中断 | 回到软件更新页使用“恢复未完成更新”;不要删除 updater\state.json,不要用旧安装包直接覆盖。 |
| 备份或恢复失败 | 检查磁盘空间、备份目录权限,以及是否有更新/备份/恢复正在执行(维护锁)。 |
| 卸载提示残留 | 关闭占用程序或以管理员身份重试;确认已备份后按提示手动清理残留路径。 |
服务无法启动时,还可以打开 Windows“事件查看器 → Windows 日志 → 系统”,筛选来源 Service Control Manager,结合服务日志定位端口、权限或依赖问题。
维护清单
- 每天:托盘或总览显示正常;考试日提前确认服务、局域网和教室大屏在线。
- 每周:确认最近的自动备份成功、磁盘空间充足;浏览服务日志中的错误和警告。
- 每月或每学期:做一次实际恢复演练;检查管理员账号和恢复密钥;在软件更新页确认版本与更新记录。
- Windows 更新或重启后:确认两个服务已自动启动、托盘已登录启动;打开运行总览复查健康状态。
- 寒暑假或换机前:额外导出一份备份并复制到离线介质,记录当前版本号和
trust.json状态。
六、目录与端口速查
| 内容 | 默认位置 |
|---|---|
| 程序目录 | C:\Program Files\Novora |
| 控制中心 | C:\Program Files\Novora\NovoraLauncher.exe |
| 服务宿主 | C:\Program Files\Novora\NovoraServiceHost.exe |
| 托盘程序 | C:\Program Files\Novora\tray\NovoraTray.exe |
| 更新程序与信任配置 | C:\Program Files\Novora\updater |
| 当前活动版本 | C:\Program Files\Novora\active-version.json |
| 学校数据 | C:\ProgramData\Novora |
| 数据库数据目录 | C:\ProgramData\Novora\postgres-data |
| 配置与初始凭据 | C:\ProgramData\Novora\config |
| 服务日志 | C:\ProgramData\Novora\logs |
| 数据库备份 | C:\ProgramData\Novora\backups |
| 控制中心日志 | %LOCALAPPDATA%\Novora\logs |
| 更新下载缓存 | %LOCALAPPDATA%\Novora\updates |
数据库备份包含管理员密码哈希和全部考试数据,属于敏感数据;config 目录还包含数据库密码和初始凭据。请限制访问权限,离线副本要加密保存,不要通过聊天工具或公共网盘传输。
更多升级与兼容说明见版本兼容与升级,更新细节见 V2.8.2 更新日志;需要公网访问时继续阅读反向代理与 HTTPS。